| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
Use an abstract type instead.
|
|
|
|
| |
Trying to bring PolyTypes closer to TypeLambdas
|
|
|
|
|
|
| |
MethodTypes have paramTypes whereas PolyTypes have paramBounds.
We now harmonize by alling both paramInfos, and parameterizing
types that will become common to both.
|
|
|
|
|
| |
and generalize MethodParam to ParamRef, and
TypeParamInfo to ParamInfo
|
|
|
|
|
|
|
|
|
|
| |
This leads to a slight overall simplification, harmonizes pickle
format with internal representation, and makes MethodTypes and
PolyTypes more similar to each other.
I believe the change is useful as it is, but in particular it is
a useful step for an eventual unification of MethodTypes and
PolyTypes.
|
|
|
|
|
|
|
|
|
|
|
| |
`checkNoPrivateLeaks` can force a lot of things, this lead to
hard-to-reproduce issues in unpickling because we called
`checkNoPrivateLeaks` on the type parameters of a class before anything
in the class was indexed. We fix this by making sure that
`checkNoPrivateLeaks` never transforms type symbols, only term symbols,
therefore we can unpickle type parameters without forcing too many
things. tests/neg/leak-type.scala illustrates the new restriction that
this necessitates.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The dropped method takes direct parameter types but a result type expression.
Since parameter types are now in general dependent as well, that method is
mostly redundant.
|
|
|
|
|
|
|
| |
It's hard to predict for defKind all the desugarings that can be
applied to a definition. Better to do it once the desugarings have been
applied. NoInit and PureInterface are both tested only after Typer,
so it's OK to delay their initialization until regular Typer.
|
| |
|
| |
|
|
|
|
|
|
|
| |
`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.
|
|\
| |
| | |
avoid using macro-based StringContext.f to ease bootstrap
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
avoidPrivateLeaks got moved from Checking to TypeAssigner, where it
fits well besides the other avoid methods.
|
|/
|
|
| |
As #1723 demonstrates, doing this at PostTyper is too late.
|
| |
|
|
|
|
|
|
| |
Special-casing like this is ugly, we should decide whether we want to
avoid simplifications on all TypTrees and whether we want to do this
just in unpickler or always. But I want to merge this PR first.
|
|
|
|
|
| |
Otherwise, they may end up with a qualifier, this manifested itself as a
pickling difference in `tasty_tools`.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This lead to stale symbol errors in `tasty_tools` because the symbol
forcing was bringing forward symbols from the previous run before the
corresponding symbols for the current run were created.
We fix this by adding Annotations#deferredSymAndTree which behaves
similarly to Annotations#deferred but take a by-name symbol.
We also remove TreeUnpickler#LazyAnnotationReader which was apparently
never used.
|
|
|
|
|
| |
This could be abstracted better but we'll end up replacing
checkNoPrivateLeaks soon anyway due to https://github.com/lampepfl/dotty/issues/1723
|
| |
|
|
|