aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Implement @static sip.Dmitry Petrashko2016-03-077-2/+108
| | | | | | | | This pull request implements most of machinery needed for https://github.com/scala/scala.github.com/pull/491 Only 3-rd check is not implemented by this commit. I propose to get this in faster to fix #1149
* Merge pull request #1126 from sjrd/scalajsDmitry Petrashko2016-03-0418-11/+2221
|\ | | | | Initial infrastructure and hello world for the Scala.js back-end.
| * Add the sources of scalajs-ir to dotty instead of its binaries.Sébastien Doeraene2016-03-041-2/+32
| | | | | | | | | | This guarantees that we can bootstrap dotty without depending on the binaries of scalajs-ir compiled by another Scala compiler.
| * Store the JSDefinitions in a custom platform SJSPlatform.Sébastien Doeraene2016-03-016-21/+45
| | | | | | | | | | | | This required the ability to instantiate a different `Platform` depending on settings, which, in turn, required to defer the initialization of `ContextBase.platform`.
| * Initial infrastructure and hello world for the Scala.js back-end.Sébastien Doeraene2016-03-0112-1/+2152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Mark concrete vals mixed in from Scala2 traits as mutable.Sébastien Doeraene2016-03-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | When a concrete val is mixed in from a Scala2 trait, a setter is generated, which is called by the `$init$` method. Since the assignment in this setter is not done in the constructor, it is nonsensical for the field to be immutable. This commit sets the Mutable flag on such fields. It only applies for vals coming from Scala2 traits. vals coming from Dotty traits are kept immutable.
| * In LinkScala2ImplClass, disregard signatures when looking for constructor.Martin Odersky2016-03-011-4/+8
| | | | | | | | | | Dotty treats trait and class constructors as returning the class. But scalac uses Unit for the return type of trait init methods.
* | Merge pull request #1122 from dotty-staging/neg-lines-2odersky2016-03-0315-139/+101
|\ \ | | | | | | Neg tests: remove xerror parameter from neg tests (#1110)
| * | Neg tests: change val computeFilePathsAndExpErrors to defVladimirNik2016-03-031-3/+3
| | |
| * | Neg tests: remove negTest flag; neg tests are binded to neg directoryVladimirNik2016-03-034-55/+57
| | |
| * | Neg tests: remove xerror parameter from tests (compute based on // error)VladimirNik2016-03-0313-133/+93
|/ /
* | Merge pull request #1129 from dotty-staging/rename/AllFlagsodersky2016-03-032-2/+2
|\ \ | | | | | | Rename AllFlags to AnyFlags
| * | Rename AllFlags to AnyFlagsGuillaume Martres2016-03-012-2/+2
| |/ | | | | | | | | | | `membersBasedOnFlags(requiredFlags = AnyFlags, excludedFlags = ...)` is easier to understand than `membersBasedOnFlags(requiredFlags = AllFlags, excludedFlags = ...)`
* | Merge pull request #1139 from dotty-staging/change-needs-companionDmitry Petrashko2016-03-033-3/+4
|\ \ | | | | | | Change isCompanionNeeded
| * | Speed up LazyVals isCompanion neededMartin Odersky2016-03-032-2/+2
| | | | | | | | | | | | Brings time to compile stdlib down from 185s to 44s.
| * | Print phases with time they needMartin Odersky2016-03-031-1/+2
| | | | | | | | | | | | | | | Print a phase after it has run, together with the time it needs. Useful to locate performance problems in transforms.
* | | Merge pull request #1111 from dotty-staging/fix-#1099Dmitry Petrashko2016-03-0216-211/+171
|\ \ \ | |_|/ |/| | Special case pattern matching against abstract types with class tags
| * | Remove bogus test on rebasingMartin Odersky2016-02-201-38/+0
| | |
| * | Search for classtag only during typer.Martin Odersky2016-02-201-1/+1
| | | | | | | | | | | | We do not want to do implicit search during tree checking.
| * | Special case for pattern matching tagged abstract types.Martin Odersky2016-02-202-3/+43
| | | | | | | | | | | | Add special case when pattern matching against an abstract type that comes with a class tag
| * | Refactoring of typedTypedMartin Odersky2016-02-201-20/+28
| | | | | | | | | | | | | | | Goal: Make implementation easier to understand. Prepare the ground for special-casing of typetagged patterns.
| * | Check that classOf gets applied to class typesMartin Odersky2016-02-204-8/+14
| | |
| * | Remove ClassTags phase.Martin Odersky2016-02-201-68/+0
| | | | | | | | | | | | Now subsumed by functionality in Typer.
| * | Simplify ClassOf phaseMartin Odersky2016-02-202-8/+3
| | | | | | | | | | | | | | | Make use of Definitions as the repository for standard symbols in Predef.
| * | Fix desugaring of classes with context boundsMartin Odersky2016-02-201-14/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Context bounds did not make it before into secondary constructors. Now the evidence parameters generated by context bounds get copied into secondary constructors. Without this fix, scala.collection.immutable.PagedSeq fails to compile in new classtag scheme.
| * | Fix search of Array classTags.Martin Odersky2016-02-201-3/+3
| | | | | | | | | | | | | | | If a classtag for `T` is available, a classtag for `Array[T]` can also be generated.
| * | Make type fully defined before searching for a ClassTag for itMartin Odersky2016-02-201-2/+3
| | |
| * | Synthesize classTags in Typer.Martin Odersky2016-02-208-54/+55
| | | | | | | | | | | | | | | | | | | | | Now diagnoses missing ClassTags of abstract types as implicit failures. Also: Simpler API of tpd.clsOf.
| * | Remove bogus testMartin Odersky2016-02-201-1/+0
| | | | | | | | | | | | | | | Tests failures were caused by previous incomplete implementation of classTag.
* | | Merge pull request #1135 from dotty-staging/add/more-memory-2Dmitry Petrashko2016-03-011-4/+2
|\ \ \ | | | | | | | | Build.scala: increase Jenkins max heap from 1.1G to 1.3G
| * | | Build.scala: increase Jenkins max heap from 1.1G to 1.3GGuillaume Martres2016-03-011-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should be safe now that run tests do not take so much memory anymore (cf #1033 and #1076). It would be even better if we could figure out why we're using so much memory, but that's less important than avoiding spurious test failures.
| * | | Rename travisMemLimit to jenkinsMemLimit, we don't use travis anymoreGuillaume Martres2016-03-011-2/+2
| | |/ | |/|
* | | Merge pull request #1134 from felixmulder/topic/fix-dotcGuillaume Martres2016-03-011-1/+1
|\ \ \ | | | | | | | | Fix `bin/dotc` checkjar of wrong project
| * | | Fix `bin/dotc` checkjar of wrong packageFelix Mulder2016-03-011-1/+1
| |/ /
* | | Merge pull request #1128 from dotty-staging/fix/membersBasedOnFlagsDmitry Petrashko2016-03-011-1/+1
|\ \ \ | |/ / |/| | Make Types#membersBasedOnFlags safer and faster
| * | Make Types#membersBasedOnFlags safer and fasterGuillaume Martres2016-02-291-1/+1
|/ / | | | | | | By filtering excluded flags earlier, we avoid forcing some denotations.
* | Merge pull request #1125 from dotty-staging/add/interfaceGuillaume Martres2016-02-2821-88/+419
|\ \ | | | | | | Add a `dotty-interfaces` package
| * | Add a `dotty-interfaces` packageGuillaume Martres2016-02-2819-71/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * | Small API changes in preparation for dotty-interfacesGuillaume Martres2016-02-255-17/+22
| | | | | | | | | | | | | | | | | | | | | - Rename Diagnostic#msg to message, this is nicer for a public API - Rename SourceFile#lineContents and SourcePosition#lineContents to lineContent, the former is not grammatically correct. - Add some convenience methods to SourcePosition.
* | | Merge pull request #1127 from dotty-staging/upgrade/sbt-0.13.11Dmitry Petrashko2016-02-282-6/+2
|\ \ \ | |/ / |/| | Upgrade sbt to 0.13.11 and scalastyle-sbt-plugin to 0.8.0
| * | Upgrade sbt to 0.13.11 and scalastyle-sbt-plugin to 0.8.0Guillaume Martres2016-02-282-6/+2
|/ / | | | | | | | | | | | | | | | | Upgrading sbt will allow us to experiment with bootstrapping using sbt since 0.13.11 is the first release that supports building with dotty (see https://github.com/smarter/dotty-bridge). Upgrading scalastyle-sbt-plugin allows us to remove the workaround for https://github.com/scalastyle/scalastyle/issues/156
* | Merge pull request #1124 from sjrd/fix-fatalerror-ctorGuillaume Martres2016-02-241-3/+1
|\ \ | | | | | | Fix FatalError's constructor to forward `msg` to super.
| * | Remove dotty.tools.dotc.FatalError; use dotty.tools.FatalError instead.Sébastien Doeraene2016-02-241-3/+1
| | |
| * | Fix FatalError's constructor to forward `msg` to super.Sébastien Doeraene2016-02-241-1/+1
|/ / | | | | | | | | Previously, getMessage() always returned `null`, causing NPEs when trying to report a FatalError.
* | Merge pull request #1095 from sjrd/modernize-buildGuillaume Martres2016-02-231-160/+151
|\ \ | | | | | | Modernize and clean up the build.
| * | Modernize and clean up the build.Sébastien Doeraene2016-02-171-160/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Settings `in Global` are moved to Build.settings. Otherwise they are added *twice* in every project. Project definitions use the `project` macro rather than the `Project()` factory, as is the customary notation since sbt 0.13. The `Defaults.coreDefaultSettings` is therefore dropped. The coding style of project definitions is adapted to the style shown in sbt documentations.
* | | Merge pull request #1123 from smarter/refactor/doReportGuillaume Martres2016-02-239-72/+91
|\ \ \ | | | | | | | | ConsoleReporter: handling of non-sensical messages is now reusable
| * | | ConsoleReporter: handling of non-sensical messages is now reusableGuillaume Martres2016-02-235-27/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is now handled by a separate trait HideNonSensicalMessages that can be mixed in, similar to UniqueMessagePositions. This way we'll be able to reuse this functionality for other kind of Reporters. This also means that we don't need `doReport` to return a Boolean anymore, so we change it to return a Unit as it did before 065a0026924f722e9844c8e314180bb4cebca236
| * | | Refactor DiagnosticMartin Odersky2016-02-237-49/+56
|/ / / | | | | | | | | | | | | | | | Break it out from Reporter and eliminate all dependencies to Context. This is done so that Diagnostics can be part of a public and minimal compiler API.
* | | Merge pull request #1117 from dotty-staging/dont-create-companionsodersky2016-02-208-6/+33
|\ \ \ | | | | | | | | Do not create companions that will be dropped later.