| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
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`.
|
| | |
|
| | |
|
| | |
|
|\ \
| |/
|/| |
Special case pattern matching against abstract types with class tags
|
| |
| |
| |
| |
| | |
Tests failures were caused by previous incomplete implementation
of classTag.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
|\ \
| |/
|/| |
Value classes: add support for private[this] parameter
|
| | |
|
|\ \
| | |
| | | |
Fix #997
|
| | | |
|
| |/
| |
| |
| | |
First version. Fixes #997.
|
|\ \
| |/
|/| |
Change is volatile 2
|
| |
| |
| |
| | |
Lets one also pass named arguments to methods.
|
| | |
|
|\ \
| |/
|/| |
Neg tests check files for // error markers (rebased and updated)
|
| | |
|
| | |
|
| | |
|
|\ \
| |/
|/| |
Implement auto tupling of function arguments
|
| |
| |
| |
| |
| |
| |
| | |
Was: corresponding parameter types "are compatible".
Now: corresponding parameter types "conform".
This avoids the inconsistency mentioned by @retronym in #897.
|
| |
| |
| |
| | |
Implements SIP #897.
|
|/
|
|
|
| |
1. Add errors in case of incorrect parameter;
2. Improvement to error message if value class is defined as a local class;
|
|\
| |
| | |
partest: run tests with -Xms64M -Xmx1024M instead of JVM defaults
|
| |
| |
| |
| |
| |
| | |
This is the same settings that scalac uses, this should help use avoid
using too much memory (the default on 64 bits Linux seems to be
-Xms248M -Xmx3938M).
|
|\ \
| | |
| | | |
Add test case for #645
|
| |/ |
|
|/
|
|
|
|
|
|
| |
An `C.this` term with erroneous class `C` will get a
`NoPrefix` type. A subsequent implicit search on this
crashed. This is fixed now.
Fixes #324.
|
| |
|
|
|
|
|
|
|
| |
Move logic from TypeOps to new file CheckRealizable.scala.
Also check realizable fields under strict mode.
Check at phase PostTyper rather than Typer to avoid cycles.
New tests for imports and deep paths.
|
| |
|
|
|
|
|
|
|
| |
The lines in question now cause an error ("cannot be instantiated...")
which masks the real tests at phase PostTyper.
Also adapt bugcount of hklower test
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If `T` is a member of `p` then
{ import p._; ... T ... }
should be checked in the same way as
{ ... p.T ... }
|
|
|
|
|
| |
Fix wording so that it works for nested errors as well.
Incorparte Tiark's latest example.
|
|
|
|
|
|
| |
Reason: They might be overridden by other lazy vals
that are not realizable, and therefore risk creating
bad bounds.
|
| |
|
|
|
|
|
|
| |
Tests with failed projections are moved to pos-scala2, which
was renamed from pos-special. Files in pos-scala2 are compiled
with -language:Scala2 option.
|
|
|
|
| |
Fixes #50.
|
|
|
|
|
|
|
| |
Replaces isVolatile, which is too weak (and more complicated).
Backwards compatibility with Scala2 is ensured by dropping the
requirement in Scala2 mode.
Fixes #1047, which now compiles without inifinite recursion.
|
|\
| |
| | |
Handle "missing args" case when expected type is a singleton type.
|
| |
| |
| |
| | |
Fixes #803.
|
|/
|
|
|
|
|
|
|
| |
It seems when unpickling nsc that some module classes come
without a source module. Survive this situation rather than
crashing. i859.scala is an example.
i859 compiles with the patch, but causes a deep subtype when unpickling.
Not sure whether scalac does the same.
|
|
|
|
|
|
|
|
|
| |
- Document the entry points
- It is now possible to set a custom reporter without using a custom
context
- Use `null` for optional arguments to make it easier to run the
compiler using reflection or from Java.
- DPDirectCompiler does not use a custom context anymore
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also CompilerTest no longer runs the compiler with the context
DottyTest#ctx. Previously, we got away with this because
Compiler#process ignored it and created a new Context, but this commit
fixes this, and it is now very important that we use a different context
for every test we compile. Since DottyTest#ctx was the only part of
DottyTest we used, CompilerTest no longer extends DottyTest to make sure
that we do not use it accidentally. If we want to use DottyTest as a
base class for tests again, we will have to remove its implicit Context
field first.
Also do not try to initialize the definitions in the context used by
partest, this is not necessary.
|
|
|
|
|
|
|
|
| |
- Removed "-Xprint-types", it is only rarely needed and makes it very
hard to read trees, enable it yourself if you need it.
- Removed "-Ylog:<some", this does not seem to have any effect
currently.
- Removed "-pagewidth 90", this is overloaded in tests.scala to 160 anyway.
|
| |
|
| |
|
| |
|