| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Scala2 allows `x _` even if `x` is not a method.
Dotty disallows them. The patch removes the ` _`
in these cases.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Revert this commit once #1149 is fixed.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Selectors should be defs, not lazy vals.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Imports are missing afterwards.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Map typed to corresponding untyped trees.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
No more leaking ofMove PatchedFiles in a settings option. Move all
patch classes into a `Rewrites` object.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Driver should not know that patch functionality exists. Instead, introduce settings
that can introduce their own stateful values.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Firs version of patching that can be invoked by dotty compiler
itself.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
make token declarations consistent
|
| | |_|_|_|/
| |/| | | | |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Pickle/unpickle SuperAccessor names
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Needed to restore the SuperAccessor flag in separate compilation.
Fixes #1144.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Tweaks to ExplicitOuter and TreeTypeMap
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Two changes:
1. Replace changeOwer with changeOwnerAfter for code
that moves into the $initial methods in Mixin. This is needed because
otherwise subsequent transforms gets confused wrt new vs old owners.
`i1131.scala` exhibits the problem.
2. Drop `transformSym` changed the owner of tenplate-local symbols
to be the primary constructor. But that is done anyway with a "changeOwnerAfter"
in `intoConstr`. So it is redundant and actually gets in the way with
a `changeOwnerAfter` in `Mixin`. The faulty scenario is this:
1. The SymTransformer of Constructor is run on a constructor-local definition.
The owner of that definition is set to <init> after phase Constructors.
2. The body of the definition is transformed in Mixin. The owner is set
to the initializer method, but only for the interval between Mixin
and Constructors.
Changing to changeOwner in Mixin avoided that problem by duplicating the symbol but
it runs into other problems.
Fortunately, the solution is much simpler than the status quo: Two changeOwnerAfter calls
and no SymTransformer.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
When recursing in a template body, need to update the
context's owner, so that `ref` can work correctly.
|
| | |/ / / /
| |/| | | |
| | | | | |
| | | | | | |
In a New we need to decide based on the prefix of the type of object created.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Options with syntax "-Y" should NOT be named with a variable beginning with `X`.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Have checkNotPrivate skip over private aliases.
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
CheckNotPrivate now avoids private aliases, so that types sat prepresentable in
transformation phases.
This does not solve the problem that private classes or abstract types might leak coming
from Scala 2, but there is not really a good cure for that. We can reject them outright or
allow them under language:Scala2 and hope for the best.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Make sure lazy accessors in traits are not private.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Not needed in the end for this patch, but anyway a good idea.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When ensureNotPrivate changes the status of a formerly private declaration,
assert that the reference to the declaration is in the same compilation unit,
as otherwise the nehavior would be different under separate compilation.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Initializer was needlessly complex and did not work anymore
for lazy vals (for them, we implicitly made use of the fact that
the initializer would find the symbol itself. But after name
mangling that logic would break down.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
... when definitions are missing.
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Fixes #1140. Review by @DarkDimius or @smarter.
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Before this commit, Hashable#addDelta did not work correctly when the
input hash was the special value NotCached, instead of returning
NotCached, it returned NotCached + delta. This means that many different
values ended up being cached with the same hash when they should not be
cached at all, this is especially bad since our HashSet implementation
uses open addressing.
I noticed this bug while working on a phase to collect API information
for sbt (this phase needs to collect every member of a class, including
inherited members), after enabling it, the compileStdLib test took
~500 seconds to complete, this commit reduces this to ~100 seconds.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
There was a mssing condition which meant Tyepr thought it was
at the outermost scope where but was mistaken.
Fixes #1145
|
| | | |
|
|\ \ \
| |_|/
|/| | |
Fix for separate compilation with value class issue (#1137)
|
| | |
| | |
| | |
| | | |
object - #1137)
|
|\ \ \
| | | |
| | | | |
Implement @static sip.
|
| | | |
| | | |
| | | |
| | | | |
as asked in https://github.com/lampepfl/dotty/pull/1155/files#r55355664
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Implemented by checking that tree is allowed to access the static member
and all the members on the path to it. Needed as typer has a tendency
to desugar calls into series of selections&calls to This.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
This pull request implements most of machinery needed for
https://github.com/scala/scala.github.com/pull/491
Only 3-rd check is not implemented by this commit.
I propose to get this in faster to fix #1149
|
| |/
|/|
| |
| | |
Fixes #1052.
|
|\ \
| | |
| | | |
Do the implicit search shadowing check in the correct context
|
| | |
| | |
| | |
| | | |
We triggered this assert after the fix in the previous commit.
|