| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
and fix a bug in TreeUnpickler
|
|
|
|
| |
Mangled is like toSimpleName, except that it keeps the term/type distinction.
|
|
|
|
|
|
|
|
|
| |
Once we start using unencoded operators internally, we will face the problem
that one cannot decode realiably a class file filename. We therefore turn
things around, keeping members of package scopes in mangled and encoded form.
This is compensated by (1) mangling names for lookup of such members and
(2) when unpickling from Scala 2 info or Tasty, comparing mangled names when
matching a read class or module object against a root.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Use a new scheme for creating and accessing semantic names which is
based on semantic name extractors with nested info classes.
|
| |
|
|
|
|
| |
Plus further bug fixes.
|
|
|
|
| |
Plus various bug fixes and filling in missing functionality
|
| |
|
|\
| |
| | |
fix #2166: unpickling of shared CaseDef
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
- Use TypeLambda instead of PolyType.
- Further harmonize factory operations
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
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.
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|