| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.)
|
| |
|
|
|
|
|
|
| |
First untested attempt to create a runtime compiler. Review by
extempore.
|
|
|
|
|
| |
Fixed position error in Parsers detected by Hubert.
|
| |
|
|
|
|
|
| |
Elininated previously deprecated package reflect.generic
|
|
|
|
|
|
|
|
|
| |
It's nice when you can delete such absurd complication by figuring out
how to avoid it in the first place.
Also includes some Namer cleanup as I tried to follow the logic involved
to fix a protected[this] accessor bug. No review.
|
|
|
|
|
|
|
| |
My suspicion that unsafeTypeParams was "double-adjustment-dipping" its
phase manipulation is borne out by the fact that no tests were harmed in
the removal of the second adjustment. OK, review by odersky.
|
|
|
|
|
|
| |
Finding top level classes from the command line. Hackiness will diminish
greatly. Review by odersky.
|
| |
|
|
|
|
|
|
| |
Following Paul's detective work, fixed Java class loading in reflection.
Moved test code.scala into checkin build. Yay!
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
Closes SI-4319, no review.
|
|
|
|
|
| |
Fixes corner case diagnosed by miguel. Closes SI-5012, no review.
|
|
|
|
|
|
| |
More sensible use of MathContext, plus some BigDecimal tests.
Contributed by Erik Osheim. Closes SI-4981, no review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Discovered every time we do something like
if (settings.debug.value)
the boolean is coming out of a box. How uncouth. To fix this, I had to
make the storage abstract, so concrete setting types have to declare
the storage personally. This seems a small price to pay. I tried to use
specialization but I think it's impossible to get the type parameter and
the abstract type to agree with one another when mr. invariant var is
the object of your affection, without scalac putting the kibosh on the
whole adventure. No review.
|
|
|
|
|
| |
No review.
|
|
|
|
|
|
|
|
|
|
| |
Some improvables I noticed while working on a fingerprint phase. This
eliminates fifty classes from the compiler. My new hobby is reading the
whole bytecode diff anytime I'm touching something like unsafeTypeParams
where I know someone is liable to start praying for my network access
to fail, so I hope knowing that fills you with new confidence. Anyway,
review by moors.
|
|
|
|
|
|
|
| |
The size map size computation for parallel hash sets was invalid.
No review.
|
|
|
|
|
| |
No review.
|
|
|
|
|
|
| |
Classpaths and partest, soon to be jointly responsible for one or more
tragedies. No review.
|
|
|
|
|
| |
Not sys.props("CLASSPATH"), sys.env("CLASSPATH"). No review.
|
|
|
|
|
|
|
| |
Adds Growable and Shrinkable to parallel maps and sets.
No review.
|
| |
|
|
|
|
|
| |
Fixed infinite loop in reification reported by Paul.
|
| |
|
| |
|
|
|
|
|
| |
No review.
|
|
|
|
|
|
|
|
|
|
|
| |
During the generation of the specialized method implementation, local
lazy vals in specialized classes were getting duplicated and assigned
new (different) names. Also, the identifiers referring to them were not
getting updated. This is fixed now. Further, the mutable flag is no
longer getting set for a lazy val during method body duplication.
Review by Dragos.
|
|
|
|
|
|
| |
Made needsJavaSig method public so that it can be used from the IDE
side. No review.
|
|
|
|
|
| |
Correcting resolution of top-level objects in reflection.
|
|
|
|
|
|
| |
Added new test file for reification/relfection, which does not work yet
under partest, but works when run individually.
|
| |
|
| |
|
|
|
|
|
| |
Closes SI-5026, no review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Finished giving case classes a ProductN parent, and flipped it on. The
"finish" part involved not breaking existing code where case classes
manually extend the appropriate ProductN. (Like, Tuple 1-22.)
- Generalized most of SyntheticMethods to ease method creation and class
manipulation in general.
- Fixed bugs related to the above, like the fact that this used to be a
compile error:
scala> case class Foo() extends Serializable
<console>:28: error: trait Serializable is inherited twice
case class Foo() extends Serializable
^
It feels like there's a better way to eliminate the duplicate parents,
but after spending a lot of time chasing my tail in that peril-fraught
zone between namer and typer, I don't see an easy path to improve on
it. Closes SI-1799. For that modification to Typers, review by odersky.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added an "Abstract" method info to the specialized phase, which denotes
that no implementation should be generated.
Previously:
trait A[@specialized(Boolean) T] {
def foo: T
}
used to generate:
trait A$mcZ$sp extends A[Boolean] {
def foo$mcZ$sp = this.foo
}
which caused cyclic calls because of linearization rules when several
traits are mixed together. Now, the following is generated:
trait A$mcZ$sp extends A[Boolean] {
def foo$mcZ$sp: Boolean
}
Review by dragos.
|
|
|
|
|
|
| |
Added test for the completion problem in the presentation compiler
reported in the scala-ide ticket 1000620.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
updated man pages, fixed svn props, did some cleanup
|
|
|
|
|
| |
Efficiency plus, redundancy minus, no review.
|
|
|
|
|
|
| |
Handling Freevars in Importers and discovering whole new classes of
errors in Liftcode.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current design of error trees complicates the design of reflection
library, and introduces sometimes unnecessary boilerplate and since I
do not want to stall that work I am reverting all the changes related
to error trees. A different design is currently under consideration but
work will be done on separate branch on github.
Revisions that got reverted:
r25705, r25704 (partially), r25673, r25669, r25649, r25644, r25621, r25620, r25619
Review by odersky and extempore.
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Made NullaryMethodType a SimpleTypeProxy. (This is incidental to
isTrivial, it just seemed like the right thing to do.)
2) Modified implementations of isTrivial for MethodType and
NullaryMethodType to only be considered trivial if there are no
annotations on the return type. This means asSeenFrom will not be
skipped and the continuations plugin will work properly. There are a lot
of other angles one could take, so review by moors, rompf.
|
|
|
|
|
|
|
| |
It was time. Removed unused flags and devirtualize detritus. Cleaned up
flags a bit further. Fixed the contents of phaseNewFlags in those places
where it was inaccurate. No review.
|