| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |/
| |
| |
| | |
File name issues
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Added general way to put attachments on some base type (which needs to inherit from Attachment.Container).
Used it to turn typedTree map into an attachment.
Also, moved DotClass to dotc.util.
|
|\ \
| | |
| | |
| | |
| | | |
1) Make definitions load symbols in current run
2) Change handling of invalid parents. Instead of a copied denotation, we now invalidate the caches of the existing one. (Copying was not enough, as old versions of denotations kept leaking in).
|
| | | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| | |
The only remaining completers that complete in creation context are the source completers defined in Namers. So a separate abstraction is no longer needed.
|
| |
| |
| |
| |
| |
| | |
Instead current ctx is passed through everywhere.
Question: can we factor out ctx better?
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
As a first step, we make the complete method in LazyType take an implicit context parameter. This requires
a fairly large propagation of implicit contexts.
The implicit parameter is ignored for classes inheriting from CompleteInCreationContext (which until now are all completers). The next step will be to make the complete methods of selective lazy types take the current context, rather than the creation context.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Compiler tests can now be run with configurable number of compilers and runs in a compiler.
|
| |
| |
| |
| | |
Invalidating them before indexing means symbols are touched before a new version is entered, which leads to "compiled twice" errors.
|
| |
| |
| |
| | |
Rather than fiddling with scopes, which can lead to race conditions, we now special case member lookup and mamber name filters in ClassDenotations that represent packages.
|
| |
| |
| |
| | |
... because there's no way to reload them in a new run.
|
| |
| |
| |
| | |
If a NamedType was denoted a SymDenotation one run, but stops being defined in the next, throw a staleSymbol error.
|
|/
|
|
|
| |
Otherwise we get spurious "compiled twice" errors on every symbol defined in a run after the first one.
Also, fixed a bug so that now run ids are correctly incremented.
|
| |
|
| |
|
| |
|
|\
| |
| | |
Modified tests to use relative paths
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
readme.md
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/| |
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
"conforms" is no longer special-cased to be eligible as a implicit conversion. Only implicit methods are eligible, whereas conforms is an implicit value with an apply method. So far, "conforms" as an implicit conversion masked in effect some type inference bugs. With the previous two commits, it is no longer necessary because two type inference bugs got fixed.
|
|
|
|
| |
When resolving overloading with a fun proto type, we need to evaluate the arguments in the current context, not in an exploring context. Reason: The argument types might contain type valiables that are constrained in the context and that needs to be maintained.
|
|
|
|
| |
Can now also convert a constant to a type that's lower-bounded by a primitive numeric type.
|
|
|
|
|
|
|
|
| |
by command line options like
#compilers 3 #runs 10
This would create one after another 3 compiler instances and perform 10 runs in each.
|
|
|
|
|
| |
1) Simplify skipped one level over arguments of AndType/OrType.
2) variances needs to follow instantiated typevars
|
|
|
|
| |
We now pair refinedInfos with the same name as deeply as wek can (before only went to depth 1).
|
|
|
|
|
|
| |
Now this is required only for members of a template. Local statements can still have implicits with no result type. (Maybe we need to get back on this).
Also, changed Dotty itself and tests to adhere to the new restriction.
|
|
|
|
| |
Improves effectiveness of elidable cache from ~66% to ~85% and reduces # of implicits that need to be checked after discarding to about 20% what it was before.
|
|
|
|
|
|
|
| |
1) Result type may not be empty
2) Parameters of implicit conversions may not be singletons
Reason for 2) is that we can do a much better caching for eligible implicits if we can widen singleton arguments in ViewProto. This leads to consicderable speedups in implicit search which seem to be hard to get without the restriction.
|
|
|
|
|
|
|
|
|
|
|
|
| |
some nested import.
This also changes the criterion when a root import is disabled.
A root import is now disabled if there is an inner import from the same package or module, and the inner import contains at least one disabling clause X => _. (The latter crierion is new; without it, we would consider something like
import scala.{collections => c}
as a hiding import for Scala, which seems to go too far.)
|
| |
|
|
|
|
| |
Instead of doing a wildApprox of the whole type, we fuse with the logix for method types and just do a wild approx of the single method type argument we have to test.
|
|
|
|
| |
Needs to be done always when hitting a wildcard import, not just when something was found
|
|
|
|
| |
to avoid accidental confusion with scala.Predef
|
|
|
|
|
| |
(1) Moved into refMatches, to avoid normalize on references that are discarded anyway
(2) Added another check if the expected type is a value class
|
|
|
|
| |
This reverts commit 7cb292fad14dc9ee7f1325f83df0328ffa8f2194.
|
|
|
|
|
|
| |
eligibility.
Unless we do this, typevars would sneak into eligibility checks.
|