| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Also: show implicit function types correctly.
Also: refine applications of implicit funcitons
- don't do it for closure trees
- don't do it after typer.
|
| |
|
| |
|
|
|
|
| |
These are always synthetic; generated on demand.
|
|\
| |
| | |
Fix #1799: Make compilation of FunctionN traits possible.
|
| | |
|
|\ \
| |/
|/| |
Fix #1810 LazyVals should use changeOwnerAfter.
|
| | |
|
|\ \
| | |
| | | |
Fix emission of annotations
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is necessary for correct incremental recompilation but is also used
by sbt to find tests to run (for junit they should be annotated @org.junit.Test).
I added an sbt scripted test to verify that JUnit now works, to run it:
$ sbt
> scripted discovery/test-discovery
|
| | |
| | |
| | |
| | |
| | | |
Previously we replaced them by ConcreteAnnotation so they became regular
annotations and could be emitted in some cases. They need to keep being BodyAnnotation.
|
| | |
| | |
| | |
| | |
| | |
| | | |
`isRuntimeVisible` and `retentionPolicyOf` had two different ways to get
the retention policy of an annotation and they were both wrong.
Fix retentionPolicyOf` and use it in `isRuntimeVisible`
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix #1806: Define outer accessors at the right phase
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Some outer accessors were defined at phase explicitOuter,
but were entered into the scope of their enclosing class only
at phase explicitOuter + 1. This turned them to stale symbols
when trying to access them at a later run, because at their
initially valid phase they were not found as members of
their owner.
|
|\| | |
| | | |
| | | | |
Fix #1790: Change by-name pattern matching.
|
| | | |
| | | |
| | | |
| | | | |
This implements the rules laid down in #1805.
|
| | | |
| | | |
| | | |
| | | | |
New implementation following the scheme outlined in #1790.
|
|\ \ \ \
| | | | |
| | | | | |
Fix #1784: allow to omit types for local implicit vals
|
| | | | |
| | | | |
| | | | |
| | | | | |
559e49317912ce52c51e295346cebcafbb69462d)
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since we now allow to drop the explicit type of a local implicit val
it can happen that this causes a cyclic reference, namely when the
typechecking of the right-hand side involves an implicit search.
It's unpractical and fragile to avoid this. Instead we give now
a nice error message explaining the problem and how to fix it in
source code.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Drop explicit types for local implicit vals of type Context
and Position. Exercises the functionality and shortens the code.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix checks related to value classes
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| |_|_|/ / /
|/| | | | | |
fix #1779: support $_ and $_id in interpolated string
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
[REPL] Add show capability to common types
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| |_|_|_|_|/
|/| | | | | |
|
|\ \ \ \ \ \
| |_|_|_|/ /
|/| | | | | |
Fix #1776: Avoid interaction between parameter forwarding and elimByName
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Parameter forwarding is not geared to handle parameters of by-name types correctly
and consequently elimByName generates wrong code. Since it's a corner case it's
easiest by not applying the parameter forwarding optimization to by-name parameters.
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fix #1757: Be more careful about positions of type variable binders
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
We interpolate a type variable if the current tree contains the type variables
binding tree. Previously, this was the application owning the variable. However,
sometimes this tree is transformed so that the containment test fails, and
type variables are instantiated too late (in the case of #1757 this was never).
We fix this by
- setting the binding tree to the type tree that first contains the type variable
- making sure that tree is never copied literally anywhere else.
It's a tricky dance, but I believe we got it right now.
|
|\ \ \ \ \ \ \
| |_|/ / / / /
|/| | | | | | |
Fix #1756: Use lexically enclosing class as start of outer path.
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We confused the enclosing class (which skips the current class in super
call contexts) and the lexically enclosing class in three locations
that all had to do with the start of an outer path.
|