aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/config/ScalaSettings.scala
Commit message (Collapse)AuthorAgeFilesLines
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-221-267/+0
|
* Add dotty-library to classpath in dottydoc testsFelix Mulder2016-11-221-1/+1
|
* fix #1274: test for dotty bootstrap based on tastyliu fengyun2016-10-131-3/+4
|
* Complete better structure to diagnostic messagesFelix Mulder2016-10-101-1/+1
|
* Add initial structure for improved explanations of error messagesFelix Mulder2016-10-101-0/+1
|
* Make inline a keywordMartin Odersky2016-10-021-1/+0
| | | | | | | `inline` is now a modifier keyword. To keep disruption tolerable, we still allow `@inline` as an annotation as well. Other uses of `inline` are supported only under `-language:Scala2` and are rewritten to identifiers in backticks.
* Make inline annotation @scala.inline.Martin Odersky2016-10-021-0/+1
| | | | | | | | | | | | | | | | | | Drop @dotty.annotation.inline. This will inline all @inline marked methods in Scala for which a body is known (i.e. that are either compiled in the same run or have Tasty trees available). Option -Yno-inline suppresses inlining. This is needed for the moment because some @inline methods access private members or members that are otherwise inaccessible at the call-site. Also fixes some problems in Inliner - make sure type arguments to inline calls re fully defined - don't forget recursive calls in typeMap - don't forget positions in treeMap - drop dead code dealing with outer.
* First version of inline schemeMartin Odersky2016-10-021-0/+1
| | | | | To be done: outer accessors To be done: error positions
* implementation of exhaustivity and redundancy checkliu fengyun2016-08-241-0/+1
|
* Implement working docs requiring manually specifying resources and template ↵Felix Mulder2016-08-191-4/+10
| | | | for html docs
* Add setting for output dirFelix Mulder2016-08-191-0/+7
|
* Add test for checking if Array has documentation after compiling std libFelix Mulder2016-08-191-0/+1
|
* Add recursive CLI args, move other doc argsFelix Mulder2016-08-191-0/+50
|
* Fixes #1316: Remove JLineKazuyoshi Kato2016-07-271-1/+0
| | | | | Dotty uses ammonite.terminal since April (53bd25f) which replaces JLine. There is no reason to keep it anymore.
* Tweaks to printingMartin Odersky2016-07-211-1/+1
| | | | | - increase page width - print scopes more legibly under -verbose
* Make -Xprint-diff an opt-in option.Nicolas Stucki2016-07-201-1/+2
| | | | | | * -Xprint:[...] alone prints the trees without diffs. * -Xprint-diff enables the diff on -Xprint. * -Xprint-diff-del enables the diff with deletes on -Xprint.
* Merge pull request #1345 from dotty-staging/improve-XprintDmitry Petrashko2016-07-171-0/+1
|\ | | | | Improve Xprint
| * Fix #1312: Improve XprintNicolas Stucki2016-07-151-0/+1
| | | | | | | | | | | | | | * Do not reprint a tree that has not changed. * Highlight changes with yellow and insertions in green. * -Xprint-diff-del: Inserts the deleted parts of the tree in red and the parts that where changed in magenta.
* | Merge pull request #1334 from dotty-jvican/implement-no-predef-no-importDmitry Petrashko2016-07-151-1/+1
|\ \ | |/ |/| Implement -Yno-predef and -Yno-imports
| * Implement -Yno-predef and -Yno-importsjvican2016-06-291-1/+1
| | | | | | | | | | | | * Implement flags -Yno-predef and -Yno-imports * Add unit tests for both
* | Remove print option from ScalaSettingsEdmund Noble2016-07-061-1/+0
|/
* Merge pull request #1251 from felixmulder/topic/fix-stdoutredirect-replFelix Mulder2016-06-011-0/+1
|\ | | | | Fix stdout redirect for REPL's println
| * Disable "auto" alternative in `-color` flagFelix Mulder2016-06-011-1/+1
| |
| * Use ChoiceSetting for coloringFelix Mulder2016-05-121-1/+1
| |
| * Add CLI option to disable REPL syntax highlightingFelix Mulder2016-05-121-0/+1
| |
* | Add sbt incremental compilation supportGuillaume Martres2016-05-281-0/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To test this with sbt, see https://github.com/lampepfl/dotty/wiki/Using-Dotty-with-sbt The following flags are added: - -Yforce-sbt-phases: Run the phases used by sbt for incremental compilation (ExtractDependencies and ExtractAPI) even if the compiler is ran outside of sbt, for debugging. - -Ydump-sbt-inc: For every compiled foo.scala, output the API representation and dependencies used for sbt incremental compilation in foo.inc, implies -Yforce-sbt-phases. This commit introduces two new phases which do not transform trees: - `ExtractDependencies` which extracts the dependency information of the current compilation unit and sends it to sbt via callbacks - `ExtractAPI` which creates a representation of the API of the current compilation unit and sends it to sbt via callbacks Briefly, when a file changes sbt will recompile it, if its API has changed (determined by what `ExtractAPI` sent) then sbt will determine which reverse-dependencies (determined by what `ExtractDependencies` sent) of the API have to be recompiled depending on what changed. See http://www.scala-sbt.org/0.13/docs/Understanding-Recompilation.html for more information on how sbt incremental compilation works. This phase was originally based on https://github.com/adriaanm/scala/tree/sbt-api-consolidate/src/compiler/scala/tools/sbt which attempts to integrate the sbt phases into scalac (and is itself based on https://github.com/sbt/sbt/tree/0.13/compile/interface/src/main/scala/xsbt), but it has been heavily refactored and adapted to Dotty. The main functional differences are: - ExtractDependencies runs right after Frontend (so that we don't lose dependency informations because of the simplifications done by PostTyper), but ExtractAPI runs right after PostTyper (so that SuperAccessors are part of the API). - `ExtractAPI` only extract types as they are defined and never "as seen from" some some specific prefix, see its documentation for more details. - `ExtractDependenciesTraverser` and `ExtractUsedNames` have been fused into one tree traversal in `ExtractDependenciesCollector`. TODO: Try to run these phases in parallel with the rest of the compiler pipeline since they're independent (except for the sbt callbacks in `GenBCode`) ?
* Add commandline argument `-Ykeep-comments` to remove hardcodingFelix Mulder2016-04-071-0/+1
|
* Merge pull request #1154 from dotty-staging/add-rewriteodersky2016-03-181-1/+4
|\ | | | | First steps towards rewriting from Scala2 in dotty
| * Better encapsulationMartin Odersky2016-03-121-2/+2
| | | | | | | | | | No more leaking ofMove PatchedFiles in a settings option. Move all patch classes into a `Rewrites` object.
| * Avoid setupMethod in DriverMartin Odersky2016-03-121-2/+4
| | | | | | | | | | Driver should not know that patch functionality exists. Instead, introduce settings that can introduce their own stateful values.
| * Add patching functionality for migrationMartin Odersky2016-03-121-0/+1
| | | | | | | | | | Firs version of patching that can be invoked by dotty compiler itself.
* | make variable name consistent in ScalaSettingsliu fengyun2016-03-141-6/+6
|/ | | | Options with syntax "-Y" should NOT be named with a variable beginning with `X`.
* Initial infrastructure and hello world for the Scala.js back-end.Sébastien Doeraene2016-03-011-0/+1
| | | | | | | | | | | | | | | | The Scala.js back-end can be enabled with the `-scalajs` command-line option. Currently, it adds one phase to the pipeline, which emits .sjsir files from trees. A sandbox project `sjsSandbox`, in `sandbox/scalajs/`, can be used to easily test Scala.js compilation. One can run the `main()` method of the `hello.world` object with > sjsSandbox/run The back-end only contains the bare mimimum to compile the hello world application in the sandbox. Anything else will blow up (for example, primitive method calls). It is a work-in-progress.
* Remove interpreterSettings logicMartin Odersky2016-02-171-1/+1
| | | | | | Seems to be overkill for the current interpreter. The only thing that was needed was a configrable linewidth. A plain setting works fine for this and is in line with the way things are done elsewhere.
* Do not use the plain printer with -YdebugGuillaume Martres2016-02-061-0/+1
| | | | | | Instead, a new setting called -Yplain-printer is used for this. After this commit, we can now run all tests with -Ydebug (this was not the case before because using the plain printer breaks -Ytest-pickler)
* Do not store context creation trace with -YdebugGuillaume Martres2016-02-061-0/+1
| | | | | This makes the compiler extremely slow. To store the trace, you now need to pass -Ytrace-context-creation
* Change name of setting: -YshowVarBounds -> -Yshow-var-boundsMartin Odersky2015-12-211-1/+1
|
* Print bounds of TypeVars only when option is enabled.Martin Odersky2015-12-151-0/+1
|
* Add migration warningsMartin Odersky2015-11-051-0/+1
| | | | | The idea is that whenever Dotty detects a migration problem under -language:Scala2, it should issue a migration warning, so we know what needs to be rewritten.
* Add reentrancy checkingMartin Odersky2015-07-061-0/+1
| | | | | | | | | | 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.
* Remove -resident settingMartin Odersky2015-06-291-1/+0
|
* Allow disabling value classes entirely from command line.Dmitry Petrashko2015-05-051-0/+1
|
* Honor -Yno-imports flagMartin Odersky2015-05-041-1/+1
| | | | If the flag is set, no root imports are added.
* Make all Dotty source files end in newline.Dmitry Petrashko2015-04-091-1/+1
|
* Rename -YnoDoubleBindings to -Yno-double-bindingsMartin Odersky2015-04-091-1/+1
| | | | | | | This aligns with the "-" instead of CamelCase convention for the other command line options. Also, enable -Yno-double-bindings for dotc_core.
* Added testing hooks for unpicklerMartin Odersky2015-03-181-0/+1
| | | | New option -Ytest-pickler compares trees before and after pickling.
* add/strictMartin Odersky2015-03-131-0/+1
| | | | | | | | | | | Add -strict option to do some type checks that are encessary to ensure type soundness, but are stricter than what Scala 2.x enforces. The first such test is the "pattern cannot be uniquely instantiated" problem where we reject a non-variant case subclass of a covariant superclass in a pattern match. The error is now only issued in -struct mode, otherwise it will be a warning. We might move more tests into the same category. This should help the transition.
* New constraint handlingMartin Odersky2015-01-181-1/+1
| | | | | | | | New constraint handling scheme using constraints that distinguish more between parameter and non-parameter bounds and which track parameter bounds separately. This allows a co-inductive formulation of satisfiability checking without fishy cyclicity checks. It should also scale better for long chains of dependent type variables.
* Stay compatible with scalac and javac in -d cli optionDmitry Petrashko2014-12-161-1/+1
|
* Java8 is the default targetDmitry Petrashko2014-12-161-2/+2
|