| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Arrange its sub-elements so that they appear strictly left to right.
|
| |
|
|
|
|
|
|
| |
Needs to read several input lines at once.
Enables repl test of new error messages.
|
|\
| |
| | |
partest: Enable separate compilation
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
partest can separately compile files based on their suffix (_1, _2,
...), it turns out that this feature was never enabled in the dotty
version of partest and no one noticed (it prints warnings in
./tests/partest-generated/gen.log which no one reads), tests with *.java
files should be compiled both with javac and dotty, but compiling with
javac was also disabled.
Enabling this revealed some latent bugs that will be fixed in the next
few commits.
|
|/
|
|
|
| |
Dotty uses ammonite.terminal since April (53bd25f) which replaces JLine.
There is no reason to keep it anymore.
|
|
|
|
| |
Error messages were suppressed so far, now get printed.
|
| |
|
|
|
|
|
|
|
| |
partest adds a warning in a comment at the beginning of source files
that it copies, but this means that every line number displayed in a
stack trace is offset by 6. We can workaround this by making the warning
a single line with no newline at the end.
|
|\
| |
| | |
Fix stdout redirect for REPL's println
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Add bytecode checking infrastructure
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Annotated values are encapsulated in a `ConcreteAnnotation`, as such,
the statement `tpe isRef defn.IntClass` would yield false despite the
annotated reference being an Int.
The tpe is now unwrapped if it has an annotation. If the transformation
fails despite having the annotation the compiler will warn.
|
| | | |
|
| |/ |
|
|/
|
|
|
|
|
|
|
| |
To make tests pass, this required a looser specification of
`assumedCanEquals`, so that an abstract type T can be compared to
arbitrary values, as long as its upper bound can be compared. E.g.
T == null
T == "abc"
|
| |
|
|
|
|
|
| |
Since we decided to go with the non dotty-scanner approach these are
unnecessary to have altered, might just as well revert them.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
One was implemted by hand and the other by using dotty's parser. The one
built by hand is shorter, and behaves correctly.
The scanner one is unfortunately not ready for testing - there are too
many things that are workarounds for it to be a good solution as of now
The code added from Ammonite is licensed under MIT, not sure where to
put the license - but will add it once I know.
|
| |
|
| |
|
|
|
|
| |
This commit also adds a printer for use by dottydoc.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes errors that would've occurred in this situation:
```
/** Docstring 1 */ <- this one would've been chosen
/** Docstring 2 */
/** Docstring 3 */
class Class
```
And this situation:
```
/** Docstring 1 */
trait Trait
/** Docstring 2 */ <- this one would've been chosen
```
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Mode is used from a lot of low-level code, does not just reflect Typer info.
So it makes more sense top to place it in the core package.
|
| |
|
|
|
|
|
|
| |
Central config class replaces mixture of parameters and fields.
The fields were in part in the wrong class, where they could not
easily be overridden.
|
| |
|
|\
| |
| | |
Fix typing of SeqLiterals
|
| |
| |
| |
| |
| |
| |
| | |
The field keeps track of the element type. This is necessary
because JavaSeqLiteral is nonvariant and the elements might
be empty, so we cannot always compute the type from the
element types.
|
| |
| |
| |
| | |
Remove println; add docs
|
|/
|
|
| |
Test rewritings that were implemented so far.
|
|\
| |
| | |
Initial infrastructure and hello world for the Scala.js back-end.
|
| |
| |
| |
| |
| |
| | |
This required the ability to instantiate a different `Platform`
depending on settings, which, in turn, required to defer the
initialization of `ContextBase.platform`.
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We introduce a new entry point for the compiler in
`dotty.tools.dotc.Driver`:
```
def process(args: Array[String], simple: interfaces.SimpleReporter,
callback: interfaces.CompilerCallback): interfaces.ReporterResult
```
Except for `args` which is just an array, the argument types and return
type of this method are Java interfaces defined in a new package called
`dotty-interfaces` which has a stable ABI. This means that you can
programmatically run a compiler with a custom reporter and callbacks
without having to recompile it against every version of dotty: you only
need to have `dotty-interfaces` present at compile-time and call the
`process` method using Java reflection.
See `test/test/InterfaceEntryPointTest.scala` for a concrete example.
This design is based on discussions with the IntelliJ IDEA Scala plugin
team. Thanks to Nikolay Tropin for the discussions and his PR
proposal (see #1011).
|
| |
|
| |
|