| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix #2033: Improve handling of unresolved overloaded arguments
|
| | |_|/ /
| |/| | | |
|
|/ / / /
| | | |
| | | |
| | | | |
Note that it is never used and the same method exists in transform.TreeGen
|
|\ \ \ \
| | | | |
| | | | | |
Fix import which produces flakey test results on Eclipse
|
| | |_|/
| |/| |
| | | |
| | | |
| | | | |
Previous import gave test errors under eclipse. Probably
due to some stray directory on the classpath.
|
|\ \ \ \
| | | | |
| | | | | |
Treat implicit by-name arguments as lazy values
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
With the previous rules, the two test cases produce a
diverging implicit expansion. We avoid this by creating
for every implicit by-name argument of type T a lazy implicit
value of the same type. The implicit value is visible for all
nested implicit searches of by-name arguments. That way,
we tie the knot and obtain a recursive lazy value instead of
a diverging expansion.
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Make resolveSuper less slow
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
By ordering tests in a smarter way.
Add leave a big scary comment.
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
Better error messages for missing type of recursive definitions
|
| | | | | |
|
| | |_|/
| |/| | |
|
|\ \ \ \
| |/ / /
|/| | | |
Add overloading support for case-closures
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
case-closures (which are represented as Match nodes) have a known
arity just like other function literals. So shape analysis for
overloading resolution should apply to them as well.
|
|\ \ \ \
| | | | |
| | | | | |
Change 'is abstract; cannot be instantiated' to Message
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix #2020: Only the first parameters of a case class are caseaccessors
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Only the parameters in the first parameter list of a case class should get
the `CaseAccessor` flag. Fixes #2020.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* Fix #2009: Fix placeholder params logic for lambdas
Logic was missing placeholders in rhs of lambdas.
* Add comment
* Fix typo
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix #2000: Make implicit and non-implicit functions incomparable
|
| | | | | | |
|
| | | | | | |
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Implicit and non-implicit functions are incomparable with <:<, but are
treated as equivalent with `matches`. This means implicit and non-implicit
functions of the same types override each other, but RefChecks will
give an error because their types are not subtypes.
Also contains a test for #2002.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix off-by-one error in forward reference checking
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Avoid accidental captures of Context
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
This capture did not cause any problem since we always called
TempClassInfo#finalize with the same Context than we captured in
`addSuspension`, but it's better to be explicit about these things.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Previously we computed the scope in `findModuleBuddy` using
`this.effectiveScope`, this means that we captured `this` which has a
self-type of `Context`, replacing it by `ctx.effectiveScope`
would be wrong since we are interested in the scope at the time
`adjustModuleCompleter` was called, not the scope at the time the
completer is called. Therefore, we have to eagerly compute
`this.effectiveScope` so that we don't capture the Context but can use
the right scope in `findModuleBuddy`.
We also move `findModuleBuddy` to a companion object to avoid accidental
captures of `this`.
This capture lead to crashes in the IDE.
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
ImportInfo#toString required the ctx parameter,so it was replaced by
ImportInfo#toText.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
getMember needs to take an implicit `Context` parameter, otherwise the
following code:
val result = ctx.atPhaseNotLaterThan(ctx.typerPhase) { implicit ctx =>
getMember(owner, innerName.toTypeName)
}
will not run getMember at the typer phase.
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
`lazyStats` creates a lazy tree using `readLater`, but the closure
inside `readLater` calls `mergeTypeParamsAndAliases` which until this
commit implicitly used the Context from the outer method `readTemplate`,
this lead to crashes in the Language Server.
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Previously, `specificProto` was a def even though it is always called,
this is because in cece884812143c6c8090ce08c6321bd4a1d52ea6, the usages
of `specificProto` and `genericProto` were swapped. We fix this by only
defining the protos where they are used. Incidentally, this mean that
the calls to UnapplyFunProto will use the correct Context inside
`tryEither`, although in this case this shouldn't matter.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Previously, the following code accidentally used the implicit Context
parameter of `typedApply`:
tryEither {
implicit ctx => typedOpAssign
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The captured context was passed implicitly to dd.rhs, atGroupEnd is
always run with the same runId as the captured context so this should be okay,
but it's better to avoid using two contexts in the same expression anyway.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The capture context was only used to get its phase so shouldn't cause
any problem.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Fix #1747: Improve error message for Scala/Java type mismatch
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
We used to "fill-in" with zeroes if variances were missing. I now
think that;'s too error-prone. Better define all variances explicitly.
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Omit the `=>' if a PolyType has a MethodType as result type.
|