| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Fix #6312.
review by @odersky,@lrytz.
|
|
|
|
| |
Removes the two global hash maps in Namers, and the one in NamesDefaults. Also fixes SI-5975.
|
|
|
|
|
|
|
|
|
|
| |
* Removed unneeded .flags.
* Renamed a few methods in `InteractiveTest`.
* Force the presentation compiler to shut down after each test.
* -sourcepath in the .flags file is now relative to the test's base directory.
* Use `InteractiveReporter` in Presentation Compiler tests.
By using the `InteractiveReporter`, compilation errors are collected in the
compilation unit. This was necessary for testing SI-5975.
|
| |
|
|
|
|
|
|
| |
* Move method into TraversableOnce from Iterator and Traversable to make the build pass.
* Udpate IDE tests with new collection methods.
* Rewire default toXYZ methods to use convertTo.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before 2.10 we had a notion of ClassManifest that could be used to retain
erasures of abstract types (type parameters, abstract type members) for
being used at runtime.
With the advent of ClassManifest (and its subtype Manifest)
it became possible to write:
def mkGenericArray[T: Manifest] = Array[T]()
When compiling array instantiation, scalac would use a ClassManifest
implicit parameter from scope (in this case, provided by a context bound)
to remember Ts that have been passed to invoke mkGenericArray and
use that information to instantiate arrays at runtime (via Java reflection).
When redesigning manifests into what is now known as type tags, we decided
to explore a notion of ArrayTags that would stand for abstract and pure array
creators. Sure, ClassManifests were perfectly fine for this job, but they did
too much - technically speaking, one doesn't necessarily need a java.lang.Class
to create an array. Depending on a platform, e.g. within JavaScript runtime,
one would want to use a different mechanism.
As tempting as this idea was, it has also proven to be problematic.
First, it created an extra abstraction inside the compiler. Along with class tags
and type tags, we had a third flavor of tags - array tags. This has threaded the
additional complexity though implicits and typers.
Second, consequently, when redesigning tags multiple times over the course of
Scala 2.10.0 development, we had to carry this extra abstraction with us, which
exacerbated the overall feeling towards array tags.
Finally, array tags didn't fit into the naming scheme we had for tags.
Both class tags and type tags sound logical, because, they are descriptors for
the things they are supposed to tag, according to their names.
However array tags are the odd ones, because they don't actually tag any arrays.
As funny as it might sound, the naming problem was the last straw
that made us do away with the array tags. Hence this commit.
|
| |
|
| |
|
|
|
|
|
| |
Wasn't me this time (I don't think!) Mr. Robot can't get
here too soon for me.
|
| |
|
|
|
|
|
|
| |
conjunction with implicit arguments).
Removed even more code in the presentation compiler testing infrastructure. One less level of indirection,
and a top-level object gone!
|
|
|
|
| |
Oh boy, a checkfile! This is the best christmas ever!
|
| |
|
|
|
|
| |
Removed some unneeded indirection in the testing framework.
|
|\ \ |
|
| |/
|/| |
|
|/
|
|
|
|
| |
This test ensures hyperlinking works inside and around pattern matching. The new virtual pattern matcher
synthesizes trees that are not properly nested, and whose positions make it impossible to retrieve the correct
tree/symbol for a given position. Therefore, the current test is using the old pattern matcher. However,
once the virtual pattern matcher is fixed, remove the corresponding line from patmat.flags to re-enable virtpatmat.
|
|
|
|
|
| |
* all usages of ClassManifest and Manifest are replaced with tags
* all manifest tests are replaced with tag tests
|
|
|
|
|
|
|
| |
some tests (unreachability, exhaustivity, @switch annotation checking) are still run under -Xoldpatmat,
but that will change before we go into RC mode (then the test/ partest of this commit will be reverted)
removed irrelevant dependency on patmat
|
|
|
|
|
|
|
|
|
|
| |
I turn them over to the responsible parties. Iulian knows about
the deadlock test; for philipp I presume,
07:10:29 [partest] concurrent-future.scala:97: error: not found: type FutureTimeoutException
07:10:29 [partest] throw new FutureTimeoutException(null)
07:10:29 [partest] ^
07:10:29 [partest] one error found
|
|
|
|
| |
make it much more resilient against spikes. Also removed usedmem file dumps.
|
| |
|
|
|
|
|
| |
Yet more funnelling of immutable creation-time known information
into the identities of symbols and types.
|
|
|
|
| |
shutdown test more resilient on slow machines.
|
|
|
|
|
|
|
| |
During shutdown, other threads can still post work items on the work queue. They will never be serviced,
leading to clients waiting forever.
The fix is to replace the implementation of the queue with a 'always fail' implementation during shutdown.
Review by @odersky.
|
|
|
|
| |
Functions of functions use parens for grouping.
|
| |
|
|
|
|
|
|
| |
It foiled me right on the cusp of a successful windows nightly.
https://scala-webapps.epfl.ch/jenkins/job/scala-nightly-windows/1170/consoleText
|
|
|
|
|
|
| |
Everyone's favorite "will they or won't they" tests, akka and timeofday.
They will be welcomed back into the fold once they can stick to a
decision on whether to pass or fail.
|
|
|
|
|
| |
Looks like we will need blood, toil, tears, and sweat. No review.
|
|
|
|
|
|
| |
Enabled Presentation Compiler test for IDE ticket #1000609, which has
been fixed by odersky. no review.
|
|
|
|
|
|
| |
Enabled Presentation Compiler test for IDE ticket #1000349, which has
been fixed by odersky in r25625. no review.
|
|
|
|
|
| |
Wow, ten tests, that's unexpected. No review.
|
|
|
|
|
|
|
| |
Misc cleanups associated with the previous commits: limiting overly
expanded types, fixing externally visible types for scaladoc, utilizing
abstract collection classes where possible, etc.
|
|
|
|
|
|
| |
Changed presentation tests to use .flags instead of .opts for passing
options to the presentation compiler.
|
|
|
|
|
|
| |
Fixed askLinkPos problem in reported by failing test in
presentation/akka.
|
|
|
|
|
|
|
| |
Added akka.opts file (for presentation compiler test) which allows to
set settings on the compiler's instance. Lines that begin with a sharp
are skipped. review by odersky.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Important note for busy commit log skimmers ***
Symbol method "fullName" has been trying to serve the dual role of "how
to print a symbol" and "how to find a class file." It cannot serve both
these roles simultaneously, primarily because of package objects but
other little things as well. Since in the majority of situations we want
the one which corresponds to the idealized scala world, not the grubby
bytecode, I went with that for fullName. When you require the path to a
class (e.g. you are calling Class.forName) you should use javaClassName.
package foo { package object bar { class Bippy } }
If sym is Bippy's symbol, then
sym.fullName == foo.bar.Bippy
sym.javaClassName == foo.bar.package.Bippy
*** End important note ***
There are many situations where we (until now) forewent revealing
everything we knew about a type mismatch. For instance, this isn't very
helpful of scalac (at least in those more common cases where you didn't
define type X on the previous repl line.)
scala> type X = Int
defined type alias X
scala> def f(x: X): Byte = x
<console>:8: error: type mismatch;
found : X
required: Byte
def f(x: X): Byte = x
^
Now it says:
found : X
(which expands to) Int
required: Byte
def f(x: X): Byte = x
^
In addition I rearchitected a number of methods involving:
- finding a symbol's owner
- calculating a symbol's name
- determining whether to print a prefix
No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Old Man Reflection is coming home and he's not going to like finding
out a bunch of beans have moved into his reflecting room. We had better
evict those guys before he blows his stack.
scala.reflect.*Bean* --> scala.beans.*
scala.beans, that's kind of a fancy package name for some beans. I
figure it's time to start fishing or cutting bait on this kind of thing.
I don't even know what beans are, but if we're going to have them in the
mainline, the least surprising place to find them is scala.beans. If we
don't want to put them in scala.beans for whatever reason, then I say
they don't belong in trunk at all.
Bonus round:
scala.annotation.target --> scala.beans.meta
I don't know if there is any more unfortunate name for a package
possible than "target". Maybe ".svn" or ".git" if you could have dots
in package names. Package CVS wouldn't hit too hard these days. Package
lib_managed? I'll try to come up with something. In any case this golden
opportunity could not be squandered.
There is a new starr included, because GenJVM contains all kinds of
shooting-from-the-hip Bean-related name hardcoding. (Yes, still. I ran
out of stones. So a few birds escape with their lives... this time.)
|
|
|
|
|
|
|
|
| |
Moved test for scala-ide ticket-1000508 under /disabled/presentation/
directory, as the current test's result is wrong (the ticket is still
opened). It will be moved back only once the ticket is closed. No
review.
|
| |
|
|
|
|
|
|
|
|
|
| |
Major rewrite of the testing infrastructure for the presentation
compiler. Added several new tests that will be part of the nightly
build. Once the move to SBT is completed I will look into how to extract
the test infrastructure (as it should really not be living in the
compiler codebase). Review by dragos
|
| |
|
| |
|
|
|
|
|
| |
One breakage too many, this test is a pest -> disabled. no review.
|
|
|
|
|
|
| |
Made the .opts file in presentation compiler tests be 'platform
independent'. Paths are given in Unix notation. no review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Long overdue rehaul of presentation compiler tests. Added support for
options file, and switched simple-tests to use the STARR library on the
test classpath.
Put any options you need passed to the presentation compiler in a file
with the same name as the test, ending in '.opts'. Currently it's used
to set the -bootclasspath for simple-tests. Check the contents of
simple-tests.opts for all the options.
IMPORTANT: when committing a new STARR, you need to check this test.
Most likely, you *will* break it otherwise.
review by extempore
|