| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This could be abstracted better but we'll end up replacing
checkNoPrivateLeaks soon anyway due to https://github.com/lampepfl/dotty/issues/1723
|
|
|
|
|
|
| |
The access boundary of a def in a local class is the owner of that
class, previously it was set to the access boundary of the owner of the
class instead.
|
|
|
|
|
|
|
|
|
|
|
| |
Previously Outer2#Inner#foo failed to compile with:
```
non-private method foo refers to private value x in its type signature
```
This should compile because the boundary of `foo` is `class Outer2`
and the boundary of `x` is `object Outer2`. This commit fixes this by
also considering the linked boundary in `checkNoPrivateLeaks`.
|
|
|
|
|
|
|
| |
It failed because two files in the same package compiled at the same
time defined respectively a class Test and an object Test. I'm guessing
this did not fail before because failure depends on the order of the
files on the command line.
|
|
|
|
|
|
|
|
|
|
| |
Previously, the tests where all in tests/pos/java-interop which means
that partest would try to run them as one single test, this failed
because some of these tests define classes with the same name. We could
fix this by putting them all in separate packages but for now it's
simple to move them to tests/pos-java-interop (they will still be run
individually as they should thanks to the `java_all` test defined in
tests.scala)
|
| |
|
| |
|
| |
|
|\
| |
| | |
Towards correct positions in TASTY types
|
| |
| |
| |
| |
| |
| |
| | |
Lots of other changes to make positions work out everywhere.
One important change is that now trees can be shared, just
as types can. This change improves memory requirements (a bit)
and also makes positions in shared trees more robust.
|
| |
| |
| |
| |
| |
| | |
Pick a less common name for the missing identifier. Depending
on my classpath I sometimes got `x is not a package` as an additional
error for this one.
|
| | |
|
|\ \
| | |
| | | |
Fix #1708: duplicate symbols in package
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Here we unlink the existing type that clashes with the package to be
entered into the symbol table, issue an error and the proceed to enter
the rest of the symbols.
My concern with this approach is what happens during typechecking
if other things reference the unlinked type.
|
|\ \ \
| | | |
| | | | |
fix #1701: disqualify package name in type name resolution
|
| | | | |
|
| | | | |
|
| |/ / |
|
|\ \ \
| | | |
| | | | |
Fix #1703
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since self types are critical we should only install
one if it is syntactcally correct.
Fixes #1703.
|
|\| | |
| |/ /
|/| | |
Don't allow redefinition of core classes
|
| |/
| |
| |
| | |
Fixes #1688.
|
|\ \
| | |
| | | |
Fix #1664: Refine isOuterRef condition
|
| |/
| |
| |
| |
| |
| |
| |
| | |
We forgot the case where a hoistable method can still
refer to free variables that have to be passed using
outer pointers.
Fixes #1664.
|
|\ \
| | |
| | | |
Fix #1653: Check "no inherit from final" earlier.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After refactoring, one test (cannot extend final class) shadowed the others,
which wer done in a later phase.
Splitting in two to get all errors again.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The test case is an illegal inheritance from a primitive value class,
which makes this an illegal value class. Previously, the error was
detected by refchecks, but crashes occured earlier (when generating
synthesized methods) or at the same phase block (in extension methods).
The problem is avoided by moving the test to Namer.
Review by @smarter.
|
| |/
|/|
| |
| |
| |
| | |
Have to handle also SkolemTypes there.
Fixes #1662.
|
| | |
|
| | |
|
| |
| |
| |
| | |
This issue was solved by some other fix.
|
| | |
|
|\ \
| | |
| | | |
Fix #1640: Avoid applications with untyped function parts
|
| | |
| | |
| | |
| | |
| | | |
#1641 compiles under latest master. This test case is there to ensure
it stays that way.
|
| |/
| |
| |
| |
| | |
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).
|
|\
| |
| | |
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.
|
| |
| |
| |
| | |
Should be a neg test now.
|
|/
|
|
|
| |
An assertion fired giving a false negative after a fuzzing
test which introduced an ill-kinded type argument.
|
|\
| |
| | |
Fix-#1500 Include constraining type variables when interpolating
|
| |
| |
| |
| | |
Fixes #1500. Review by @smarter.
|
|\ \
| | |
| | | |
Fix #1570: Allow inline parameters as inline args
|
| |/
| |
| |
| |
| |
| |
| | |
Inline parameters can always be passed to other
inline parameters.
Fixes #1570.
|
| | |
|
| |
| |
| |
| | |
This commit also fixes #1583.
|