| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The instrumentation logic needed by the Scala IDE Worksheet is currently part
of the Scala project, but it doesn't need to be. I already have a PR ready for
completely removing the instrumentation logic, but I considered it too risky at
this point for 2.10.0 release (an oversight can lead to the impossibility of
running the worksheet with Scala 2.10.0).
For the moment, I believe it's better to deprecate the whole instrumentation
API in 2.10.0, and the PR for removing the instrumentation logic will target
2.10.1 or 2.11.0.
Besides deprecating the instrumentation API, this commit also raised visibility
of `interruptsEnabled` member in `Global`. This change alone is sufficient for
moving the instrumentation logic outside of the compiler, and it is needed
because the Presentation Compiler thread should never be interrupted while
instrumenting a source.
This commit is related to SI-6458
|
|\ \ \ \
| |/ / /
|/| | | |
SI-6440: Revert change to `TraversableLike.filterNot`
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit df9f470f14262b9b1002f022c2620d8c38835805 introduced
a change to `TraversableLike.filterNot` which broke Stream
implementation that does override `filter` implementation
but does not override `filterNot` implementation. This shows
clearly that reusing code for strict and non-strict collections
is very problematic.
Added a test-case covering this problem.
Closes SI-6440.
Review by @retronym.
|
|\ \ \
| | | |
| | | | |
SI-6483 Prohibit super[T] references in value classes.
|
| | | |
| | | |
| | | |
| | | | |
This seems the safest course of action for 2.10.0.
|
|\ \ \ \
| | | | |
| | | | | |
Proposed fix for SI-6490.
|
|/ / / /
| | | |
| | | |
| | | | |
Issues a "companions must be in same file" error only if both class and module exist. This can certainly do no harm. I believe it should adress SI-6490, but, lacking a test case, I don't have evidence for that.
|
|\ \ \ \
| |_|/ /
|/| | | |
Another reflection bomb
|
| | | |
| | | |
| | | |
| | | | |
These are surely not necessary. Thanks Vlad!
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes the stuff that was irritating, when I was preparing examples
for reflection documentation.
Has zero impact at stability of scalac, because showRaw isn't used anywhere
in the compiler unless invoked explicitly.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This trait carries mirror-related changes of the API that happen
when api.Universe transforms into api.JavaUniverse.
From a coding standpoint this is a mere rehashing of the code, but
from a documentation standpoint this provides additional insights
into what's going on in reflection.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Because they are only available in macros.Universe, not in api.Universe,
therefore I'd argue that the confusion factor is stronger than the weirdness
of scala.reflect.api.Position extending scala.reflect.macros.Attachments.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
For the sole reason of putting docs on it in a separate pull request,
which is being prepared elsewhere
|
| | | |
| | | |
| | | |
| | | |
| | | | |
nme.ROOT doesn't have much use in the public API (unlike nme.ROOTPKG).
tpnme.EMPTY duplicates a method inherited from the base class.
|
| | | |
| | | |
| | | |
| | | | |
Never got to use these guys, so let's better remove them.
|
| | | |
| | | |
| | | |
| | | | |
Tree.hasSymbol is really too much to document for its merit.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
We decided to give up on providing symbol table traversal facilities
in the current incarnation of mirrors. Let's be consistent with ourselves.
|
| | | |
| | | |
| | | |
| | | | |
It's been more than a year, and I never used these methods.
|
| | | |
| | | |
| | | |
| | | | |
We don't really need that abstract type.
|
| | | |
| | | |
| | | |
| | | | |
The next round of scaladoc-driven cleanup kicks in.
|
| | | |
| | | |
| | | |
| | | | |
We have nme.EMPTY and tpnme.EMPTY for that.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
And again, this is not a fatal error, so it should end with an Error,
and it should subclass not Throwable, but Exception.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Again, this is not a fatal error, so it should end with an Error,
and it should subclass not Throwable, but Exception.
Also moved the exception outside the cake to simplify error handling,
along the same lines of what've been done for parsing and reification
exceptions.
|
| | | |
| | | |
| | | |
| | | | |
Because it's not a fatal error. Neither it should subclass Throwable.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We definitely need to document scala.reflect.runtime.universe,
therefore adding scala.reflect.runtime to skipPackages was a mistake.
But then we need to make a bunch of internal classes private to reflect
or to scala. Not very pretty, but it works.
|
|\ \ \ \
| |_|_|/
|/| | | |
SI-6215 Fix compiler crash on private method in value class
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes the problem with private defs in value classes by moving the $extension after the name proper rather than before. The previous scheme did not commute with makeNonPrivate:
I.e. if -ext-> is "generate extension name" and -mnp-> is "make not private" we did get for
method foo in value class Foo:
foo -ext-> extension$foo -mnp-> Foo$$extension$foo
but
foo -mnp-> Foo$$foo -ext-> extension$Foo$$foo
With the change both variations give the same name:
foo -ext-> foo$extension -mnp-> Foo$$foo$extension
but
foo -mnp-> Foo$$foo -ext-> Foo$$foo$extension
|
|\ \ \ \
| | | | |
| | | | | |
SI-6485 stops creating extmethods for macros
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
Macros don't correspond to bytecode-level methods, therefore
there's no need to undergo any transformations past typer.
|
|\ \ \ \
| |_|_|/
|/| | | |
MethodSymbol.params => MethodSymbol.paramss
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This matter was discussed at scala-internals:
http://groups.google.com/group/scala-internals/browse_thread/thread/6414d200cf31c357
And I am convinced with Paul's argument: consistency of the convention
is very important.
|
|\ \ \
| | | |
| | | | |
undeprecates manifests for 2.10.0
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
Since scala-reflect.jar is going to be declared experimental for 2.10.0,
it doesn't make sense to deprecate manifests in favor of type tags.
Class manifests, however, ARE deprecated for class tags, because class tags
don't require scala-reflect.jar and are generated independently of type tags.
|
|\ \ \
| | | |
| | | | |
SI-6471 Update jquery from 1.4.2 to 1.8.2
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reopens SI-6170 that was fixed by 1be1f760. I don't want to start
a revert war, but I see two reasons we should stick to newer jquerys:
- they provide better compatibility to new browsers
- having diagrams not working is much more annoying than having the
splitter not work
|
|\ \ \
| |/ /
|/| | |
SI-6451: Rename classes in `unchecked-abstract.scala` test.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As reported Miguel, `Con` is problematic name of a class on Windows
and makes this test to fail. Renamed classes to something else which
hopefully make Windows build happy again.
Closes SI-6451.
Review by @magarciaEPFL or @paulp.
|
|\ \ \
| | | |
| | | | |
AnyVal/value classes restrictions
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Nested objects, classes and lazy vals are disallowed at any
nesting level in value classes; e.g. lazy vals local to a
method defined in a value class. There are still allowed in
universal traits.
This is a temporary, implementation restriction that is planned
to be addressed in future releases of Scala. Error messages has
been updated to communicate that intent.
Moved tests for SI-5582 and SI-6408 to pending folder. They have
to stay there until implementation restrictions are addressed.
Closes SI-6408 and SI-6432.
Review by @odersky, @harrah and @adriaanm.
|
| | | |
| | | |
| | | |
| | | | |
Fixed problem reported in comment, where inner classes of value classe caused a compiler crash.
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
and brought compiler in line with them. One thing we can accept IMO are nested
classes (nested objects are still a problem). In fact, it makes no sense to
exclude nested classes from value classes but not from universal traits. A class
nested in universal trait will becomes a class nested in a value class by
inheritance. Note that the reflection library already contains a universal trait
with a nested class (IndexedSeqLike), so we should accept them if we can.
|
|\ \ \
| |_|/
|/| | |
SI-6436 Handle ambiguous string processors
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Before, we got in an inifinite loop by chasing
the error typed result of adaptToMemberWithArgs.
One point of befuddlement remains: why did t6436 and t6436b
behave differently before this change?
|
|\ \ \
| |_|/
|/| | |
fixes a bug in a weak cache in runtime reflection
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Entries in SynchronizedTypes.uniques could previously be garbage collected
in-between a successful call to contains and an actual cache lookup.
The patch could be a one-liner, but I don't want to use HOFs
in this function, whose prototype is a hotspot in the compiler.
Also the fix doesn't touch scalac in any way. It only applies to
reflective universes that provide runtime reflection functionality.
|
|\ \ \
| | | |
| | | | |
Fixes deprecation annotations for 2.10.0
|
| | |/
| |/| |
|
|\ \ \
| | | |
| | | | |
Improved the `scala.language` documentation
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also corrected the links in the library rootdoc.
**Note: We need to fast track this commit so it reaches master in the
next 12 hours, before we generate the next nightly docs.**
Review by @odersky
|