| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Yet more funnelling of immutable creation-time known information
into the identities of symbols and types.
|
|
|
|
|
|
|
| |
Made generic type unwrapper for use by the many methods which
need various types to be transparent with respect to the operation
being performed. AnnotatedType, PolyType, NullaryMethodType,
and ExistentialType all commonly match this description.
|
|
|
|
|
| |
More principled logic for determining if a type is a particular
type or a specialized subtype of that type.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
this corner case in Duplicators is hit when compiling
the new AbstractPartialFunction (which is specialized) under -Yvirtpatmat
TODO: why do we need to guard against cx.scope eq null in typers?
review by @vladureche
|
| |
| |
| |
| |
| |
| | |
avoid casting default call in applyOrElse:
the result type of the match is always B1,
not the result type inferred from typing the cases
|
| |
| |
| |
| |
| |
| | |
minimal fixes for typedMatchAnonFun so it compiles
TODO: support for AbstractTotalFunction (when match is exhaustive)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
runtime.AbstractPartialFunction provides a default implementation
for the new-style partial function. In principle this class is only
subclassed by compiler-generated partial functions arising from matches.
Either
- the apply method (old-style partialfun) or
- the applyOrElse method (current scheme)
must be overridden, and the isDefinedAt method implemented.
The applyOrElse method implementation is provided to ease the
transition from the old scheme, since starr still generates
old-style PartialFunctions, but locker's library has the
new AbstractPartialFunction.
Thus, this implementation is intended as a drop-in replacement for the
old partial function, and does not require changes to the compiler.
(compiler patches, both for old and new-style pattern matching, follow)
- runtime.AbstractPartialFunction is based on PartialFunction.WithDefault
Original version of FunctionWithDefault by Odersky
(http://article.gmane.org/gmane.comp.lang.scala.internals/4032)
- better performance for OrElse#applyOrElse, OrElse#lift, PF.cond
- new combinator methods: PF#run, PF#runWith, PF.apply
authored by @pavelpavlov, refactored by @adriaanm, review by @paulp
|
| |
| |
| |
| |
| |
| | |
Conflicts:
build.xml
|
| |
| |
| |
| | |
A classic "off by two" error. Closes SI-4545, SI-5633.
|
| |
| |
| |
| | |
It's -Ycheck:jvm, not -Ycheck:genjvm. There is no genjvm.
|
| | | |
| \ | |
|\ \ \
| | | |
| | | |
| | | | |
'axel22/feature/future-compat' into develop
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Removed some methods from execution contexts.
Changed Awaitable interface.
|
| | | |
| | | |
| | | |
| | | | |
Now that there's an extensive parallel collections overview on http://docs.scala-lang.org, API comments should link to it ("see also" field). This commit also fixes a couple of broken links on some sequential collection types.
|
|\ \ \ \
| |_|_|/
|/| | | |
remove unnecessary classpath entry
|
|/ / / |
|
| | | |
|
|/ / |
|
| |
| |
| |
| | |
The lisp test enjoys the suffering of others.
|
| |
| |
| |
| |
| |
| | |
Closes SI-3569, SI-3770.
Also threw in experimental -Yoverride-vars. It's not robust.
|
|/
|
|
|
|
| |
All hail the lisp test!
Closes SI-4579.
|
|\ |
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduced the collection.concurrent package and introduced the
concurrent.Map trait there. Deprecated the mutable.ConcurrentMap trait.
Pending work - introduce the appropriate changes to JavaConversions
and JavaConverters.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Not actually a fix, but when we see a package where a module is
expected, it's not a great stretch to try the package object.
References SI-5604.
|
| | | | |
| \ \ | |
| \ \ | |
| \ \ | |
| \ \ | |
| \ \ | |
| \ \ | |
| \ \ | |
|\ \ \ \ \ \ \
| |_|_|_|_|_|/
|/| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
'non/si-5609', 'adriaanm/topic/virtpatmat' and 'VladUreche/issue/5373' into develop
Conflicts:
test/scaladoc/scala/model/CommentFactoryTest.scala
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
And adds basic support for scaladoc model tests (class
partest.ScaladocModelTest)
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
didn't realize this was done for the old pattern matcher, so now we have "feature"-parity
we still infer bad type arguments for type patterns -- see e.g., pos/t602.scala --
also, inference changes when you turn a case class into
the corresponding class&companion object, with the same unapply as the synthetic one
TODO: can we merge inferConstructorInstance & inferTypedPattern,
or at least make them behave consistently?
|
| | | | |\ \ \ |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
for selector-less matches that should yield a function
|
| | | | | |/ /
| | | | |/| |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
... but not before, to avoid having skolems in typedMatchAnonFun
cast result of missingCase (avoid skolem mismatch)
relevant test cases: pos/existentials-harmful.scala, pos/gadt-gilles.scala, pos/t2683.scala, pos/virtpatmat_exist4.scala
|
| | | |/ / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This commit removes the (unused and unnecessary) elems* parameter
from the 'empty' method. It also adds 'ofDim' which allows the
user to allocate a FlatArray of a given size without providing
actual elements.
This fixes SI-5609.
|
| | |/ / / |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The issue is closed as won't fix, but there are a few test cases
with respect to the model relevant to the issue. Also, correct
some typos.
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
Release fixes from 2.9.x
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|/ / / / |
|
| |/ /
|/| | |
|
| | |
| | |
| | |
| | | |
I swear this change didn't work last time I was in this neighborhood.
|
|\ \ \
| |/ /
|/| | |
Scaladoc is now pointing to sources in github
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For snapshots, it points to the exact commit, for releases it points to
the tag ("v" + maven version). The link now opens in a different tab,
as opening in the same frame is not compatible with github (the page
doesn't load for some reason).
Left the repo url in test/review untouched because it points to the
root of all LAMP repos. But... is anyone still using that script?!?
|
| |
| |
| |
| |
| |
| | |
Possibly the ugliest function in the compiler. Unfortunately
also effectively obscuring serious bugs like SI-3452. Still won't
be winning homecoming queen, but might be able to leave the house.
|
|\ \ |
|
| | | |
|