| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is specific to situations in which we first typecheck an
application `qual.m(arg)` against the method `m` directly provided
by `qual`, and then fall back to `implicitView(qual).m(arg)`.
Regressed in SI-3971 / 7fa77af, in which error reports were moved
to the innermost `Apply`, and the check for `errorInResult` was
accordingly changed to recurse through `Apply` trees.
Before that change, we did not fall back to using a view. After the
change, we do try a view. We retypecheck the arguments under the
`retyping` mode (see `tryTypedArgs`), but this doesn't seem to
be enough to avoid leaking the error typed nested trees from the
first try.
Here's an example from the enclosed test case:
a.update(0, x[A]({new isString(true)}))
`-- error typed
refArrayOps(a).update(0, x[A]({new isString(true)}))
` `-- error type persists
`-- this tree is retypecked by tryTypedArgs
This commit changes `onError` to only proceed with the second
try if the retyped argument trees are error free.
|
|\
| |
| | |
SI-8672 Better end-of-sentence detection for Scaladoc
|
|/
|
|
|
|
|
|
|
| |
The first sentence of a Scaladoc comment is parsed as the summary.
However, this was breaking of the sentence at the first `.`, even
if that was immediately followed by another character.
This commit only considers a period followed by whitespace, EOL or
EOF as the end of a sentence.
|
|\
| |
| | |
SI-8631 Treat `A with Sealed` as enumerable for pattern matching
|
| |
| |
| |
| |
| | |
It arrived in c1f8dbc, but is no longer needed after user-defined
value classes were introduced in 2.10.0.
|
| |
| |
| |
| |
| | |
- reorder to make "unenumerable" the last case
- reunite an orphaned comment with its loved ones.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Enumerate the subtypes of sealed parent types of refinement
types, and filter those that conform to the refinement type.
Such types can crop up easily when LUB-bing case classes which
add `Product with Serializable` to the mix.
|
|\ \
| | |
| | | |
SI-8611 Avoid accidental patmat unification with refinement types
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the enclosed test, t8611a.scala, the patterns `O.{A, B}` were
incorrect treated as equivelent by the combination of
`uniqueTpForTree` and `Const.uniqueTpForTree`.
`uniqueTpForTree` used `Type#narrow` to try to create a distinct
type for each new pattern tree it encountered. However, narrowing a
`RefinedType` does not create a distinct type as we are used to
when narrowing, e.g. a class type.
// Type
def narrow: Type =
if (phase.erasedTypes) this
else {
val cowner = commonOwner(this)
refinedType(this :: Nil, cowner, EmptyScope, cowner.pos).narrow
}
// CompoundType
override def narrow: Type = typeSymbol.thisType
This commit creates a fresh existential type symbol rather than
trying to use `narrow`.
I've included a unit test to show the sublteties of narrowing
refinment types.
|
|\ \
| |/
|/| |
SI-5905 Clarify test case
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The language feature options are discovered reflectively, but it
is nice to enforce that expected options are supplied.
Short of that, the code string includes a rowdy postfix operator.
It still does enforce that at least one option was discovered.
|
|\ \
| | |
| | | |
Java 8 agnostism for our test suite
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Under Java 8, the output contains newly added methods in
j.u.Iterator.
I've created cut down, test-local versions of the relevant types
to decouple.
|
|\ \ \
| | | |
| | | | |
Java 8 support for run/repl-javap-app.check
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Just adding the java 8 output.
No attempt to finesse anything.
But the partest mechanism does still need auto-update of these
conditional check files, plus expression evaluation of the condition.
|
|\ \ \ \
| | | | |
| | | | | |
Merge 2.10.x to 2.11.x
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
merge/2.10.x-to-2.11.x-20140604
Conflicts:
src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
|
| | |\ \ \ \
| | | | | | |
| | | | | | | |
SI-8596 Fix rangepos crasher with defaults, poly methods
|
| | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Regressed in SI-7915 / 3009a525b5
We should be deriving the position of the synthetic `Select`
from `basefun1`, rather than `basefun`. In the new, enclosed
test, the difference amounts to:
new Container().typeParamAndDefaultArg[Any]()
`------------ basefun1 --------------'
`----------------- basefun ---------------'
For monomorphic methods, these are one and the same, which is
why `presentation/t7915` was working. I've extended that test
to a polymorphic method to check that hyperlink resolution works.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
SI-8503 -version is info setting
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
And the Scala runner exits with 0 for info settings.
Producing the version string is consolidated.
The compiler driver uses the default settings hook to
short-circuit on -version. That's to avoid creating
the compiler; really it should check shouldStopWithInfo
first, as the runner does.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We have interpolation now. This commit also moves an extra blank
line from the end to the middle of the message.
|
|\ \ \ \ \ \ \
| |_|_|_|/ / /
|/| | | | | | |
Add documentation to parts of scala.concurrent.
|
| | |/ / / /
| |/| | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Don't crash on dead code in ICodeReader
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Allows the test to pass on both backends
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This makes it pass under -Ybackend:GenBCode
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | / /
| | |_|_|/ /
| |/| | | | |
Disable OSGi tests under Java 8
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | | |
I've lodged SI-8642 with more details of the failure to make sure we
get them going again.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix emitting Array(1).clone() in GenBCode
|
| |/ / / / |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
SI-8553 WrappedArray throws exception on lastIndexWhere when index out of range
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Adds a check in `IndexedSeqOptimized#lastIndexWhere(A => Boolean, Int)`
to begin searching in the end of the collection if `end` is greater than
the collection's length.
Discussed in
https://groups.google.com/d/topic/scala-internals/-MacXivbY0Q/discussion.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
SI-8637 fixes toolbox phase corruption
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It turns out, Toolbox.typecheck hasn't been properly re-initializing its state
between requests.
In particular, globalPhase was left untouched, which made the compiler
think that it's past typer, and that in turn disabled implicits.
This commit applies a symptomatic fix to this problem.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
SI-8630 lineToString no longer long by one at eof
|
| | |_|/ / /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
One more EOL crasher, or lack-of-EOL crasher, when the text
is at EOF.
It was not caught by the last round of excellent and
thorough tests because
```
// If non-whitespace tokens run all the way up to EOF,
// positions go wrong because the correct end of the last
// token cannot be used as an index into the char array.
// The least painful way to address this was to add a
// newline to the array.
```
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
SI-8475 GroupedIterator is also lazy when padded
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is the related case which dnlgtm in the previous fix.
The old code seems to be tilting for laziness, but we have
to fill the buffer with the current group anyway, so there
is no reason to be coy about calling ArrayBuffer.length.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
SI-6678 Make currentMirror macro hygenic
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Deprecate AVLTree and concurrent.Lock in 2.11.2
|
| |/ / / / / / |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Include scalap in the distro.
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
More type safe implementation of BType, cleanups in GenBCode
|
| | | | | | | | | |
|