| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Using changeOwnerAfter would be more appropriate but currently fails
with an assertion in LambdaLift
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
If something needs to be fixed, fix it at the source. This prevented
dotty-compiler-bootstrapped from using the dotty-library-bootstrapped
clases instead of the dotty-library jar
|
|\ \ \
| | | |
| | | | |
Fix #1687: postpone computations in tailrec until they are needed.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previous version precomputed everything needed to make the final decision.
This was fast-path for method that will be tail-rec transformed.
Unfortunatelly, in case decision was not to tail-rec optimize it could have
led to exponential number of transformations.
Now, the fast-path is for methods that will not.
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| | |
We got on NPE when compiling the collection strawman under -Yno-imports. We did not
preview that the contextual implicit scope stack could be empty.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
scalac hides a root import from Predef if there is an eplicit Predef import.
We now do the same (previously we did this only if the overriding import undefined
something, using a `x => _` syntax). To avoid cycles and races one had to be very careful
not to force import symbols too early, so we now compare the name before the symbol proper.
All this is likely temporary - the comment of ImportInfo#unimported points to a different,
more systematic solution.
|
|\ \
| | |
| | | |
Fix #1877: Add forwarders for primitive/generic mixins.
|
| | | |
|
| |/ |
|
|\ \
| | |
| | | |
Partially fix Java interop for emitted inner classes
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The backend uses `rawname` to define the "inner name" of an InnerClass
entry in a classfile, this should be the simple name of the class before
any mangling takes place.
Fixing this allows Java code to reference dotty inner classes, except if
they're defined in objects which is still broken until
https://github.com/DarkDimius/scala/pull/4 is merged and a new backend
is published.
|
|\ \ \
| | | |
| | | | |
Fix #1891: Don't add redundant constraint
|
| | | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Before adding a constraint, make sure there is no way
the two types are already in a subtype relation.
Adding redundant constraints is problematic because we
might introduce cycles. See i1891.scala for a test.
|
| | | |
|
| | | |
|
|/ /
| |
| |
| | |
This reverts commit 63d68bf4d3cbac82f6d9faf19acd5589603a17ee.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
To match the specs in
https://github.com/lampepfl/dotty/blob/master/docs/syntax-summary.txt
all occurences of Id, ident or Ident in comments have been replaced
with the terminal `id`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The following examples trigger the error message:
val x: Foo.this = ???
// Also triggers the error:
import foo.this
// Additionally, also slays the compiler
type X = Foo.this.type
|
|\ \
| |/
|/| |
Fix #1867: Set position of empty refined types
|
| | |
|
|\ \
| | |
| | | |
Fix #1865: Compute outer path at right phase
|
| | | |
|
| |/
| |
| |
| |
| | |
When computing the outer path, we need to be careful to dealias before erasure,
even if the outer path is demanded during erasure. Otherwise we lose prefixes.
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Fix #1868: Fix a logic error in a match
|
| | | |
|
|\| |
| | |
| | | |
Fix #1732: Special treatment for bottom type by-name args
|
| |/
| |
| |
| |
| |
| | |
If a by-name arg has a bottom type, we need to create a closure with the
result type of the formal parameter, or else specialization with
FunctionalInterfaces will fail.
|
|/ |
|
|\
| |
| | |
Fix #1845: Survive illegal this-type prefixes
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Wildcards don't make sense as type arguments to methods, and I believe to keep things
simple this should also apply to method type arguments in patterns.
The best way to enforce this is to make use of the existing infrastructure in the parser
for topLevelTypes.
|
|\ \
| | |
| | | |
Make more parts of stdlib compile
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Need to be careful not to read a classfile before a compilation unit
defining the annotation is entered.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixing two failures in stdlib having to do with widening. In both
cases, a widenIfUnstable was required. One was widening too much,
the other too little.
|
| | |
| | |
| | |
| | |
| | | |
Argument comparison of hk types did not take into account that
the compared types could have themselves wildcard arguments.
|
| | |
| | |
| | |
| | |
| | | |
1. Overriding a Java-8 concrete method now produces a migration warning under -language:Scala2,
2. Overriding a normal with a lazy val is now a migration warning instead of an error.
|
| | |
| | |
| | |
| | | |
Avoids potentially expensive string assembly operations.
|
| | |
| | |
| | |
| | |
| | | |
If the expected type is Unit, any parameterless member should
be considered applicable when doing overloading resolution.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We looked under the wrong signature before, which meant that
we sometimes would not detect that a super accessor existed
already and generate a duplicate. Observed when compiling
stdlib's collection/mutable/ObservableMap.scala.
|