| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
when determining in which variance position a symbol occurs in a type,
there's no need to look at the args of a type constructor, since it
doesn't have any therefore, the symbol could not occur in a variance
position corresponding to the typeref's (non-existent) type arguments
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Stole two bits from Tree#id to record whether a tree contains an
error tree and whether its subtrees have been checked. This leaves us
with only a single gigatree of headroom for replaying trees in the
presentation compiler. Alert the media.
Review by odersky.
|
|
|
|
|
|
| |
"Pure expression in statement position" is hopefully a lot quieter now.
Review by dragos.
|
| |
|
|
|
|
|
|
| |
Started work on compiler toolbox that can compile reflect trees at
runtime.
|
| |
|
|
|
|
|
| |
Added module for importing trees and symbol tables from another universe
|
|
|
|
|
| |
fixed svn props and scaladoc tags, did some cleanup
|
|
|
|
|
| |
No review.
|
|
|
|
|
|
| |
Changes to Liftcode to use new reflection semantics, where a compiler
uses type checking.
|
|
|
|
|
| |
Review by Dragos.
|
|
|
|
|
|
|
|
|
|
| |
I added local logging to zip and zipped and listened for who was
dropping things on the floor. Everything in this commit stems from that.
Sometimes the fix was uncertain and I sprinkled some logging. If you've
been hanging back with lots of internals knowledge waiting for the right
commit to review, this would be a good one. But since knowledgeable
people are hard to find, I'll go with review by moors.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you build and then run
tools/proxy-report <outdir>
you will be given files revealing interesting things like:
/** With respect to trait SetLike, trait SetProxyLike does NOT wrap:
*/
trait Unwrapped {
def +(elem1: A,elem2: A,elems: A*): This
def ++(elems: scala.collection.GenTraversableOnce[A]): This
def subsets(len: Int): Iterator[This]
def subsets: Iterator[This]
protected override def newBuilder: scala.collection.mutable.Builder[A,This]
protected override def parCombiner: scala.collection.parallel.Combiner[A,scala.collection.parallel.ParSet[A]]
}
Lots more possible here, for now I just want to get a backstop
against our worst transgressions (not just in the library -- look
at SimpleTypeProxy, if you dare!) I will inquire about the results
separately, so no review.
|
|
|
|
|
|
|
| |
Iterators should have def next(), not def next. Clearing
a mutable structure should be done with clear(), not clear.
And etc. No review.
|
| |
|
|
|
|
|
|
| |
Not O(n) like it was. Here's another good candidate for some mythical
performance regression tests. Closes SI-4933, no review.
|
|
|
|
|
|
| |
This seems less likely to surprise people attempting to use them as
implicits. No review.
|
|
|
|
|
|
| |
Scaladoc enhancements to continuations package for docspree. Review by
rompf
|
|
|
|
|
|
| |
Small changes to the API documentation of the AnyVal types. Contributed
by Michael Allman during the September doc spree. No review.
|
|
|
|
|
|
| |
Improved API documentation for scala.compat.Platform. Contributed by
Matthew Farwell during the September doc spree.
|
|
|
|
|
|
|
| |
Hugely improves the API documentation for JavaTokenParsers, Parsers,
and RegexParsers. Contributed by Daniel Sobral during the September doc
spree.
|