| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If rewriting `x += y` fails to typecheck, emit error messages
for both the original tree and the assignment.
If rewrite is not attempted because `x` is a val, then say so.
The error message at `tree.pos` is updated with the additional advice.
SI-8763 Crash in update conversion
When there are already errors, don't attempt mechanical rewrites.
|
|\
| |
| | |
SI-10037 ASR/LSR switched in ICodeReader
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Noticed when inlining from a class file.
The test doesn't work because inlining fails with
bytecode unavailable due to:
```
scala.reflect.internal.MissingRequirementError: object X in compiler mirror not found.
```
|
|\ \
| |/
|/| |
move to latest Akka 2.3.x release
|
| |
| |
| |
| |
| | |
Akka 2.3.16 was released in October 2016:
http://akka.io/news/2016/10/30/akka-2.3.16-released.html
|
|\ \
| | |
| | | |
don't mass-delete old nightlies at release time
|
|/ /
| |
| |
| |
| |
| |
| | |
as happened with 2.12.0, for gory details see
https://github.com/scala/scala-dev/issues/257
fix suggested by Stefan Zeiger
|
|\ \
| | |
| | | |
Silence SBT logging about macros and incremental compilation.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since upgrading to SBT 0.13.12, clean builds have incurred warnings like:
Because JavaMirrors.scala contains a macro definition, the following
dependencies are invalidated unconditionally: ....
This commit disables this behaviour of the SBT incremental compiler in
the library and reflect projects, as these aren't regular macros (the
macro implementations are hard coded in the compiler in `FastTrack`)
so the new behaviour isn't actually improving correctness of inc.
compilation.
|
|\ \ \
| | | |
| | | | |
[backport] Replace println with log calls in BrowsingLoaders
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
This alternative symbol loader is used in the presentation compiler and
may generate output even when the compiler should be silent.
See SI-8717 for more context, even though this does not really
fix the ticket.
|
|\ \ \
| |/ /
|/| | |
SI-9913 Lead span iterator finishes at state -1
|
| | |
| | |
| | |
| | |
| | | |
Extra privacy, and the tricky state transition is made
more tabular.
|
| | |
| | |
| | |
| | |
| | | |
Even if no elements fail the predicate (so that the trailing
iterator is empty).
|
|\ \ \
| | | |
| | | | |
[backport] Bump sbt.version to 0.13.12, without breaking
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
SI-9832 Fix line endings in junit test
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
SI-2712 Add support for higher order unification
|
| | |_|/ /
| |/| | | |
|
|\ \ \ \ \
| | |/ / /
| |/| | | |
SI-9832 -Xlint:help shows default
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
Conclude help method with the default list.
Extra words are supplied for underscore.
|
|\ \ \ \
| | | | |
| | | | | |
[nomerge] Partial fix for SI-7046
|
| | |/ /
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
SI-9760 Fix for higher-kinded GADT refinement
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
SI-9336 Enable paste detect in jline
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When the next char is available immediately after a tab,
the tab is taken raw instead of invoking completion.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Doc: capitalize doesn't handle non-BMP characters
|
| |/ / / / |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
SI-9841 Regression test for init SO
|
| | |/ / /
| |/| | |
| | | | |
| | | | | |
Verifies example behavior in ticket.
|
|\ \ \ \ \
| |_|_|_|/
|/| | | | |
SI-9806 Fix incorrect codegen with optimizer, constants, try/catch
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The constant optimizer phase performs abstract interpretation of the
icode representation of the progam in order to eliminate dead
code.
For each basic block, the possible and impossible states of each local
variable is computed for both a normal and an exceptional exit.
A bug in this code incorrectly tracked state for exception exits.
This appears to have been an oversight: the new state was computed
at each instruction, but it was discarded rather than folded through
the intepreter.
|
|\ \ \ \ \
| |_|_|_|/
|/| | | | |
Avoid tripping cyclic errors under -Ytyper-debug
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Manually tested with:
```
% cat sandbox/test.scala
package p {
object X { def f(i: Int) = ??? ; def f(s: String) = ??? }
object Main {
val res = X.f(3.14)
}
}
% qscalac -Ytyper-debug sandbox/test.scala
|-- p EXPRmode-POLYmode-QUALmode (site: package <root>)
| \-> p.type
|-- object X BYVALmode-EXPRmode (site: package p)
| |-- super EXPRmode-POLYmode-QUALmode (silent: <init> in X)
| | |-- this EXPRmode (silent: <init> in X)
| | | \-> p.X.type
| | \-> p.X.type
| |-- def f BYVALmode-EXPRmode (site: object X)
| | |-- $qmark$qmark$qmark EXPRmode (site: method f in X)
| | | \-> Nothing
| | |-- Int TYPEmode (site: value i in X)
| | | \-> Int
| | |-- Int TYPEmode (site: value i in X)
| | | \-> Int
| | \-> [def f] (i: Int)Nothing
| |-- def f BYVALmode-EXPRmode (site: object X)
| | |-- $qmark$qmark$qmark EXPRmode (site: method f in X)
| | | \-> Nothing
| | |-- String TYPEmode (site: value s in X)
| | | [adapt] String is now a TypeTree(String)
| | | \-> String
| | |-- String TYPEmode (site: value s in X)
| | | [adapt] String is now a TypeTree(String)
| | | \-> String
| | \-> [def f] (s: String)Nothing
| \-> [object X] p.X.type
|-- object Main BYVALmode-EXPRmode (site: package p)
| |-- X.f(3.14) EXPRmode (site: value res in Main)
| | |-- X.f BYVALmode-EXPRmode-FUNmode-POLYmode (silent: value res in Main)
| | | |-- X EXPRmode-POLYmode-QUALmode (silent: value res in Main)
| | | | \-> p.X.type
| | | \-> (s: String)Nothing <and> (i: Int)Nothing
| | |-- 3.14 BYVALmode-EXPRmode (silent: value res in Main)
| | | \-> Double(3.14)
| | [search #1] start `<?>`, searching for adaptation to pt=Double => String (silent: value res in Main) implicits disabled
| | [search #2] start `<?>`, searching for adaptation to pt=(=> Double) => String (silent: value res in Main) implicits disabled
| | [search #3] start `<?>`, searching for adaptation to pt=Double => Int (silent: value res in Main) implicits disabled
| | 1 implicits in companion scope
| | [search #4] start `<?>`, searching for adaptation to pt=(=> Double) => Int (silent: value res in Main) implicits disabled
| | 1 implicits in companion scope
| | second try: <error> and 3.14
| | [search #5] start `p.X.type`, searching for adaptation to pt=p.X.type => ?{def f(x$1: ? >: Double(3.14)): ?} (silent: value res in Main) implicits disabled
| | [search #6] start `p.X.type`, searching for adaptation to pt=(=> p.X.type) => ?{def f(x$1: ? >: Double(3.14)): ?} (silent: value res in Main) implicits disabled
sandbox/test.scala:4: error: overloaded method value f with alternatives:
(s: String)Nothing <and>
(i: Int)Nothing
cannot be applied to (Double)
val res = X.f(3.14)
^
```
|
|\ \ \ \
| |_|/ /
|/| | | |
In ProcessBuilder docs, replace .lines w/ .lineStream
|
|/ / /
| | |
| | |
| | | |
ProcessBuilder.lines is deprecated
|
|\ \ \
| | | |
| | | | |
Make removing forkjoin dependant on the organization key
|
| | |/
| |/| |
|
|\ \ \
| |/ /
|/| | |
[nomerge] Avoid triple-quoting triple quotes
|
| | |
| | |
| | |
| | |
| | |
| | | |
The boolean test for triples was inadvertently flipped.
Adds test for pretty printed multiline strings
|
|\ \ \
| |/ /
|/| | |
Use sbt for PR validation [ci: last-only]
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Support directories in `-doc-external-doc`: It is documented as
accepting a “classpath_entry_path” for the keys but this only worked
for JARs and not for individual class files. When checking for
external-doc mappings for a Symbol, we now find the root directory
relative to a class file instead of using the full class file path.
The corresponding tests for SI-191 and SI8557 are also fixed to
support individual class files instead of JARs in partest. This is
required for the sbt build which runs partest on “quick” instead of
“pack”.
- Fix version and repository handling for bootstrapping. The bootstrap
`scalaInstance` can now be resolved from any repository added to the
project (not just the bootstrap repositories) by using a different
workaround for https://github.com/sbt/sbt/issues/1872.
- Workaround for https://github.com/sbt/sbt/issues/2640 (putting the
wrong `scalaInstance` on partest’s classpath). The required
`ScalaInstance` constructor is deprecated, so we have to disable
deprecation warnings and fatal warnings until there is a better fix.
- Add MiMa to the sbt build (port of the old `test.bc` ant task). The
sbt-mima plugin doesn’t have all the features we need, so we do it
manually in a similar way to what the plugin does. Checks are done
in both directions for the `library` and `compiler` projects. The
base version has to be set in `build.sbt`. When set to `None`, MiMa
checks are skipped. MiMa checks are run sequentially to avoid spurious
errors (see https://github.com/typesafehub/migration-manager/issues/115).
- Port the OSGi tests to the sbt build. The set of JARs that gets copied
into build/osgi as bundles is a bit different from the ant build. We
omit the source JARs but add additional modules that are part of the
Scala distribution, which seems more correct.
- Get rid up `pull-binary-libs.sh` for the sbt build. Add artifacts are
resolved from the special bootstrap repository through Ivy. The
special `code.jar` and `instrumented.jar` artifacts are copied to the
location where partest expects them (because these paths are hardcoded
in partest). Other extra JARs for partest in `test/files/lib` are
referenced directly from the Ivy cache.
- Move common settings that should be available with unqualified names
in local `.sbt` files and on the command line into an auto-plugin.
- Add an `antStyle` setting to sbt to allow users to easily enable
ant-style incremental compilation instead of sbt’s standard name
hashing with `set antStyle := true`.
- Disable verbose `info`-level logging during sbt startup for both,
`validate/test` and `validate/publish-core` jobs. Update logging is
no longer disabled when running locally (where it is useful and
doesn’t generate excessive output).
- Pass optimization flags for scalac down to partest, using the new
partest version 1.0.15\6.
- Call the new sbt-based PR validation from `scripts/jobs/validate/test`.
- Disable the tests `run/t7843-jsr223-service` and `run/t7933` from
https://github.com/scala/scala/pull/4959 for now. We need to set up
a new test project (either partest or junit) that can run them on a
packaged version of Scala, or possibly move them into a separate
project that would naturally run from a packaged Scala as part of the
community build.
|
|\ \
| | |
| | | |
SI-9245 Fresher name in Try and test
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Fresh name for catcher gets a dollar. "Here, have a dollar."
Test due to retronym demonstrates possible conflict.
Over the lifetime of the universe, surely at least one code
monkey would type in that identifier to catch a banana.
|
|\ \
| | |
| | | |
SI-9737 [no-merge] Backport stringOf ParIterable
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Cherry-picked c5f3d3f286ee5c26c8ddcf10f6878058e8f7e040
Edited comment: in stringOf, let GenIterable subsume
both Iterable and ParIterable.
This change is required for Scala.js compatibility as it does not
support parallel collections.
Conflicts:
src/library/scala/runtime/ScalaRunTime.scala
|