| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
As a side effect, avoid creating synthetic parameters in lambda abstract.
|
|
|
|
|
| |
If we want to pickle type trees, we need a type assigner
for RefinedTypeTree.
|
|\
| |
| | |
Use inline flag instead of @inline annotation
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Convert `@inline` annotations to `inline` flags, not the
other way round as was done before.
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Avoid calling unsupported computeHash in some situations
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some types do not implement `computeHash`, instead they override
`myHash` directly. This works fine as long as `myHash` is not equal to
`HashUnknown` but this was not guaranteed before this commit, if
`myHash` is equal to `HashUnknown` then `computeHash` is called by
`CachedGroundType#hash` or `CachedProxyType#hash` causing an exception:
https://gist.github.com/smarter/6b642db0495e995d8f3c26d614cf54d6
This commit fixes this by making sure we never compute a hash equal to
`HashUnknown`, instead `HashUnknownAlt` should be used.
|
| | | |
|
|\ \ \
| | | |
| | | | |
Add error message for illegal literals - Parser.scala:602
|
| | |/
| |/| |
|
|\ \ \
| |/ /
|/| | |
Fix #1640: Avoid applications with untyped function parts
|
| | |
| | |
| | |
| | |
| | | |
Avoid applications with untyped function parts even if program is erroneous.
Taking the symbol fails for these applications, which can cause crashes.
|
| | |
| | |
| | |
| | |
| | |
| | | |
These might lead to bad bounds if unchecked.
Scalac disallows them also, but with a confusing error message
("class type expected" on the class).
|
|/ /
| |
| |
| |
| | |
We assumed that argument types in an untpd.New are never wildcards but
in the face of errors that is not true.
|
|\ \
| | |
| | | |
Fix #1638: Don't import when typing a package clause
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When typing the first identifier of a package clause, disable
imports, as package clauses are never imported.
Fixes #1638.
|
|\ \ \
| | | |
| | | | |
Fix #1637: Future defs are always OK
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Drop special mode that handles future defs without which we
get DenotationNotDefinedHere errors. In more than a year, this
has only turned up false negatives. So I think it's better to
drop the check, and the contortions needed to deal with it.
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix #1579: Adapt the sbt bridge for the new error message
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
Fix #1652: Make assertion more robust
|
| | | | | |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | | |
An assertion fired giving a false negative after a fuzzing
test which introduced an ill-kinded type argument.
|
|\ \ \ \
| |/ / /
|/| | | |
Fix Tasty positions
|
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|