| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
The resident compiler is not supposed to be called from multiple
threads; mark as unshared to avoid spurious re-entrancy errors.
|
|
|
|
| |
Some globally accessible vars were never updated; should be vals.
|
|
|
|
| |
Some global roots were pointing to shared mutable state but were never used.
|
|
|
|
|
|
|
| |
Add @sharable annotation for classes and vals that are presumed
to be safely sharable between threads.
Also: Document CtxLazy.
|
|
|
|
|
|
|
|
|
|
| |
New miniphase CheckRentrant verifies that compiled program is
without vars accessible through global roots if -Ycheck-reentrant
option is set.
Known shortcoming: Array elements are currently not considered as vars. This
is because in many programs arrays are used as an efficient container
for immutable fields.
|
|\
| |
| | |
Fix/dependent methods
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Necessary to make implicit resolution of type-level peano numbers work.
The current commit makes takes the inimal steps to make this happen. We
could also consider sharpening using followAlias every type we constrain
a result, or every time we adapt a type.
|
| |
| |
| |
| | |
Nothing will be committed here, so setExplore... is the right method to pick.
|
| |
| |
| |
| | |
The term in a SearchSuccess has already been adapted to the expected type.
|
| |
| |
| |
| | |
Now handles included test if toplevel implicit is given, but not yet without.
|
| |
| |
| |
| | |
Previously, we could die with a <notype> when an implicit argument was not found.
|
|\ \
| | |
| | | |
Fixes to generic arrays in backend.
|
| | |
| | |
| | |
| | | |
More magic is needed, as enumerating array symbols does not work in backend.
|
|\ \ \
| | | |
| | | | |
Tests that objects nested in value class methods work
|
|/ / /
| | |
| | |
| | | |
This confirms that SI-6359 does not apply to Dotty.
|
|\ \ \
| | | |
| | | | |
Avoid crasher when first token of a program is in error
|
| | | |
| | | |
| | | |
| | | | |
Seems partest adds code to the sources so that line numbers are not the same.
|
| | | |
| | | |
| | | |
| | | | |
Line numbers were wrong in previous file.
|
| | | |
| | | |
| | | |
| | | | |
And adjust for it in DottyBackendInterface
|
| | | |
| | | |
| | | |
| | | | |
Lines already start at 0, so columns should, too.
|
| | |/
| |/|
| | |
| | |
| | | |
This used to give a crash in SourcePositiom, promoted by feeding
its calculations with a negative offset.
|
|\ \ \
| | | |
| | | | |
Value class related checks
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
According to SIP 15 a value class C must obey the following restrictions:
C may not have secondary constructors.
C may not declare fields (other than the parameter of a value class).
C may not contain object definitions.
C may not have initialization statements.
These are enforced by this commit. We are still missing restrictions on
value class paremeters. We should review what the right set of conditions
is (probably we want to admit non-vals, and maybe even multiple
parameters).
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | | |
So far no error was raised for illegal inheritance
from final or sealed classes.
|
|\ \ \
| | | |
| | | | |
Fix println
|
| | | |
| | | |
| | | |
| | | | |
Previously was swallowed in `isHidden` inside `report`
|
| | | |
| | | |
| | | |
| | | | |
As reporter.report could actually not report dues to mode flag, we need a way to enforce printing.
|
|\ \ \ \
| |/ / /
|/| | | |
Drop Module flag from lifted symbols.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Reason: A lifted module is no longer a module (i.e. singleton object) in the scope
to which it is lifted.
Fixes #689.
|
|\ \ \ \
| | | | |
| | | | | |
Fix trait constructors
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It did not do enough to carry its own weight, in particular because DenotationTransformers do have
a price - every encountered denotation in the whole program is passed through them. The name change
from <init> to $init$ was all it did, that is now rolled into Mixin.
Also renamed IMPLCLASS_CONSTRUCTOR to TRAIT_CONSTRUCTOR.
|
| | | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Trait constructors added a this to the constructor of a trait, which is useless
because the constructor's type is unit. By contrast, it's good to rename the DefDef
to the new name.
|
|\ \ \ \
| | | | |
| | | | | |
Add/resident compiler
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Reporters are part of the context which is passed into a compiler run. Passing them
as a separate option is an unnecessary complication.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Not needed right now, but will be useful later.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Make parts more reusable
- Introduce hook "sourcesRequired" that controls whether
no sources on the command line give a help message.
|
| | | | | |
|
|/ / / / |
|
|\| | |
| | | |
| | | | |
Fix erasure of this types and refactor value class erasure
|
| | | |
| | | |
| | | |
| | | | |
Uncommented parts that were left accidentally commented out when debugging.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Replace by the pair of methods erasure/valueErasure.
The boolean parameter is still kept, but only as a
confuration parameter of the erasure objects.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Checking that constraints are closed caused cyclic reference exceptions in
DottyBackedInterface. What's worrying is that these were seemingly not checked
by the checkin tests. Or maybe there is some dependcy on compilation order that triggers
the erros only in my setup.
|