| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This happens once we do not merge methods with the same signature coming
from the same class. (reverted from commit 83262d090a98e2374c9b3e5a1480892397d695d3)
This case no longer applies as such a situation will now give a MergeError instead.
|
|
|
|
|
|
|
|
| |
When finding two symbols in the same class that have the same signature
as seen from some prefix, issue a merge error.
This is simpler and more robust than the alternative of producing an overloaded
denotation and dealing with it afterwards.
|
|
|
|
|
| |
This happens once we do not merge methods with the same signature coming
from the same class.
|
|
|
|
|
|
|
|
| |
Once we do not merge methods with same signature anymore
we got an ambiguous overload between the constructors of
Any and Object after erasure (when all Any methods are
moved to Object). To avoid this, we map the Any constructor
to the Object constructor after erasure.
|
|
|
|
|
|
|
|
| |
#1240 shows that we need to detect ambiguous overloads of methods
coming from the same base class (with different signatures there)
that have the same signature in some deriving class. This was
undetected before because the two methods were simply merged into
one overloaded alternative.
|
|\
| |
| | |
Syntax highlighting for REPL using ammonite as base instead of JLine
|
| |
| |
| |
| |
| | |
When enter pressed immediately after keyword, the highlighting would be
aborted
|
| | |
|
| |
| |
| |
| |
| | |
Since we decided to go with the non dotty-scanner approach these are
unnecessary to have altered, might just as well revert them.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
One was implemted by hand and the other by using dotty's parser. The one
built by hand is shorter, and behaves correctly.
The scanner one is unfortunately not ready for testing - there are too
many things that are workarounds for it to be a good solution as of now
The code added from Ammonite is licensed under MIT, not sure where to
put the license - but will add it once I know.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
As noticed by @smarter we need to ensure that classes owning
derived type params are completed, so that trees get the
proper symbol attachments. This triggered when I changed annotation
transformers - I have no idea whether how two could be related, though.
|
| | |
|
|/
|
|
|
|
|
|
| |
There's no point transforming annotations that come from
classfiles. It's inefficient to do so and it's also risky
because it means we'd have to make sense of Scala-2 generated trees.
This should avoid the error in #1222.
|
| |
|
|
|
|
|
| |
No longer needed because we are going to allow dependent method types
in extractors, and the unary requirement is kind of obvious.
|
|
|
|
|
| |
Since we now recognize more false dependencies,
we have to dealias the new dependencies accordingly.
|
|
|
|
|
|
| |
Triggered by change in TypeComparer. I guess we should think of
dropping the NotDefiendHere tests, for a long time they gave us only false
negatives.
|
|
|
|
|
| |
Now explains in detail why an possibly found unapply or
unapplySeq is ineligible.
|
|
|
|
|
|
|
|
|
| |
#1235.scala contains a case of a method type of the form
(x: T) ... x.tail.N ...
where N is an alias. We need to follow the alias to prevent
a mischaracterization that this is a dependent method type.
|
|
|
|
|
|
| |
More generally, avoid forming a type selection on a term prefix which
has a bottom class as a type. There might be other places where we have
to take similar measures. For now, this one fixes #1235.
|
|
|
|
|
|
|
|
|
|
| |
There's a trap otherwise that, when in a class inheriting
from Context (and with it Reporting) a call to println will
go to this.println and therefore might not print at all, if
the current context buffers messages. I lost a lot of time
on this on several occasions when I scratched my head why
a simple debug println would not show. Better avoid this in
the future for myself and others.
|
|\
| |
| | |
arrayConstructors: do not rewrite ofDim for arrays of value classes
|
| | |
|
|\ \ |
|
| |\ \
| | |/
| |/| |
Allow to specify per-callsite @tailrec annotation.
|
| | | |
|
| | |
| | |
| | |
| | | |
See examples in following commit.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When an implicit argument is not found, we should in any case
assume the result type of the implicit method as the type of
the tree (after reporting an error, of course). If we don't
do that, we get implicit errors on weird positions when we try
to find an implicit argument for the same tree again. This
caused a spurious error in subtyping.scala, and also caused
an additional error at the end of EqualityStrawman1.scala.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The logic in typeComparer#eitherIsSubtype was flawed.
In the case of A & B <: C, if A <: C but not B <: C
we need to return with the constraint of A <: C, but
we returned with the initial constraint instead.
|
|/ /
| |
| |
| |
| |
| | |
implicit.
This was suggested in #878.
|
|\ \
| | |
| | | |
Fix strawmans
|
| | |
| | |
| | |
| | |
| | | |
Bring strawman-4 and strawman-5 to feature-parity.
Test also strawman-4.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This means companions will be pickled and we can drop
the special treatement in transformInfo of FirstTransform.
That method is problematic, since it enters new symbols into
a class scope. This is not allowed, since transformInfo needs
to be purely functional, side effects are not permitted
(`enteredAfter` does not work either).
The problem manifested itself when compiling colltest5 with
a requirement failure in the code of `entered` when called
from FirstTransform (trying to enter in a frozen class).
TODO: Once we use statics for LazyVals we can get rid
of the "add companion object" logic in FirstTransform
alltogether.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
The previous version seemed to fail non-deterministaically, but after a while
I could not reproduce it anymore. Anyway, leaving the change in.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Dealias TypeRefs that get applied to type arguments. Without that
precaution we get Stackoverflows in lookupRefined/betaReduce for
CollectionStrawMan5.scala.
|
| | |
| | |
| | |
| | | |
Need to drop the final `$' in both cases.
|
| | |
| | |
| | |
| | |
| | | |
Partial fix of #765. Hack to make sure unexpandedName
works for super accessor names.
|
| | |
| | |
| | |
| | |
| | | |
LambdaTraits are created on demand; we need to make sure
they exist when referred to from Tasty.
|