| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Other comments had already been addressed in previous commits.
|
|
|
|
| |
Merge with POLYtypem, as we do already for internal types.
|
|
|
|
|
| |
They used to share the same id as the tree they were cloned from,
which makes id's not really unique.
|
|
|
|
|
| |
Don't convert to a TypeTree in PostTyper, because that
loses internal positions.
|
|
|
|
|
| |
Since we now transform all type trees, no need to have
a separate traversal for checking.
|
|
|
|
|
|
|
|
|
| |
We need to keep the original expressions around
for accurate linking with the source file. That holds
also if the expression has a constant type, so it should
not be converted to a literal before pickling.
Instead it will be converted in FirstTransform.
|
|
|
|
|
|
| |
If we want to pickle types with positions we should not
converyt to TypeTrees before pickling. Instead, type trees
are now converted to TypeTrees in FirstTransform.
|
|
|
|
| |
Updated to ignore two .cache files in ScalaIDE 4.4
|
|
|
|
|
| |
This is needed to figure out where the defined name is in a
definition.
|
|
|
|
| |
Don't generate positions that can be reconstructed from the initial position of a tree.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Inlined trees should be preserved by pickling so that we keep
positions accurate.
With that change now all tasty tests are tested for position
accuracy.
|
| |
|
|
|
|
|
|
| |
When printing with -Yprintpos always have the position follow
immediately the term with the position. Makes it easier to
interpret diffs.
|
|
|
|
|
| |
With that change, all files tested in pickleOK have the
same positions before and after pickling.
|
|
|
|
| |
Was: position of self def, now: position of tpt in self def.
|
| |
|
|
|
|
|
|
|
| |
Shared trees are pickled under multiple addresses. Previously, only the
last address was stored, which led to trees with unknown positions.
Now, all addresses are stored.
|
|
|
|
| |
Also, some simplifying refactorings and renamings
|
|
|
|
|
|
|
|
| |
The plan is to keep original type until after pickling,
and afterwards replace it with a simple TypeTree.
# Conflicts:
# src/dotty/tools/dotc/core/tasty/TreePickler.scala
|
|
|
|
|
|
|
| |
The goal is that pickled and unpickled trees should print
the same with -Yprintpos. There are several reasons why this
is not the case so far. Some of them are fixed in this
commit.
|
|\
| |
| | |
Small fixes to some warnings/comment typos
|
| | |
|
| |
| |
| |
| | |
The warning is invalid but Scalac can't tell.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Fix #1543: Ignore IgnoredProto when normalizing method application.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix erasure of "def foo[T]: Unit", do not box the return type
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
fix #1274: test for dotty bootstrap based on tasty
|
|/ / / / |
|
|\ \ \ \
| |/ / /
|/| | | |
Fix #1552: REPL file loading
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Harmonize PolyType and TypeLambda
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If PolyTypes are to become value types we want to keep `=>` as the arrow
for consistency. `->` should be reserved for PolyTypes that do not have
side effects on instantiation.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The refactored logic only applies to infos of denotations, not
general types. The reactoring avoids special cases down the road
then PolyTypes and MethodTypes can be used for terms as well as
type(bounds).
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Otherwise we can run into problems when checking imports for e.g.
scala2Mode in later runs.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
to account for the fact the GenericTypes are now TypeProxies.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Let them inherit the same traits and push as much
functionality as possibly into the common superclass
GenericType.
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
True union types
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Test case: orInf.scala. This showed a problem where an `either` operation
had to arbitrarily pick one constraint over another, leading to a type
error down the line. What happened was that a `constrainResult` generated
the constraint
Set[A] <: Set[String] | Set[Int]
But this constraint cannot be simplified without a cut and a resulting
loss of information. We avoid the problem by not constraining the result
if the prototype is a disjunction.
|
| | | | | |
|