summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4432 from retronym/ticket/9264Grzegorz Kossakowski2015-04-071-1/+6
|\ | | | | SI-9264 An even-better diagnostic for an unexplained crash
| * SI-9264 An even-better diagnostic for an unexplained crashJason Zaugg2015-04-071-1/+6
|/ | | | | | | | | | We have seen an intermittent crasher in the backend for the last month or so. In https://github.com/scala/scala/pull/4397, I added a diagnostic to show the actual locals in scope in the method. This commit further expands the diagnistic to show the method's tree.
* Merge pull request #4370 from gbasler/ticket/SI-9181Adriaan Moors2015-04-067-67/+952
|\ | | | | SI-9181 Exhaustivity checking does not scale (regression)
| * Bring back improvements from `SI-6942` that were lost during the switch toGerard Basler2015-03-021-8/+30
| | | | | | | | | | | | | | | | Tseitin's transformation, e.g., use `CNF(P1 /\ ... /\ PN) == CNF(P1) ++ CNF(...) ++ CNF(PN)` in order to simplify the resultung formula.
| * Add a check to ensure that if the formulas originating from the exhaustivity /Gerard Basler2015-03-027-59/+922
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reachability analysis are too big to be solved in reasonable time, then we skip the analysis. I also cleaned up warnings. Why did `t9181.scala` work fine with 2.11.4, but is now running out of memory? In order to ensure that the scrutinee is associated only with one of the 400 derived classes we add 400*400 / 2 ~ 80k clauses to ensure mutual exclusivity. In 2.11.4 the translation into CNF used to fail, since it would blow up already at this point in memory. This has been fixed in 2.11.5, but now the DPLL solver is the bottleneck. There's a check in the search for all models (exhaustivity) that it would avoid a blow up, but in the search for a model (reachability), such a check is missing.
* | Merge pull request #4419 from adriaanm/partest-bumpJason Zaugg2015-04-021-1/+1
|\ \ | | | | | | Enable #4285: switch to partest 1.0.6
| * | Bump partest to 1.0.6Adriaan Moors2015-03-311-1/+1
| | | | | | | | | | | | To enable #4285
* | | Merge pull request #4423 from lrytz/merge/2.10-to-2.11-apr-1Lukas Rytz2015-04-010-0/+0
|\ \ \ | | | | | | | | Merge/2.10 to 2.11 apr 1
| * | | Merge branch '2.10.x' into merge/2.10-to-2.11-apr-1Lukas Rytz2015-04-010-0/+0
|/| | |
| * | | Merge pull request #4417 from retronym/backport/flakyLukas Rytz2015-03-311-2/+7
| |\ \ \ | | | | | | | | | | [backport] SI-8689 Make a Future test case determistic
| | * | | [backport] SI-8689 Make a Future test case determisticJason Zaugg2015-03-311-2/+7
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed: https://groups.google.com/forum/#!topic/scala-internals/m8I_3GQR4vQ We need to ensure a happens-before relationship between the callback that prints "success" and the end of the main method.
| * | | Fix link...Adriaan Moors2015-03-041-1/+1
| | | |
| * | | 2.10.5 is it for 2.10.xAdriaan Moors2015-03-041-65/+3
| | | |
| * | | Merge pull request #4365 from adriaanm/2.10.xv2.10.5Adriaan Moors2015-02-261-137/+2
| |\ \ \ | | | | | | | | | | Publish to sonatype staging (the default).
| | * | | Publish to sonatype staging.Adriaan Moors2015-02-261-137/+2
| |/ / / | | | | | | | | | | | | Simplified while I was at it.
| * | | Merge pull request #4359 from adriaanm/2.10.xGrzegorz Kossakowski2015-02-261-301/+23
| |\ \ \ | | | | | | | | | | Port old 2.10 release script to new CI.
| | * | | Port old 2.10 release script to new CI.Adriaan Moors2015-02-241-301/+23
| |/ / / | | | | | | | | | | | | | | | | To fit in with the new flow, we upload to S3 instead of using the copy artifact plugin.
* | | | Merge pull request #4422 from lrytz/t8940-2.11Lukas Rytz2015-04-011-1/+1
|\ \ \ \ | | | | | | | | | | [nomerge] SI-8940 Scaladoc: Fix "Order by Alphabetical" button
| * | | | [nomerge] SI-8940 Scaladoc: Fix "Order by Alphabetical" buttonKato Kazuyoshi2015-04-011-1/+1
|/ / / / | | | | | | | | | | | | The selector has been wrong since 0c2614e.
* | | | Merge pull request #4418 from lrytz/t8731-relaxAdriaan Moors2015-03-313-6/+4
|\ \ \ \ | | | | | | | | | | SI-8731 don't issue a @switch warning for two-case matches
| * | | | SI-8731 don't issue a @switch warning for two-case matchesLukas Rytz2015-03-313-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows annotating small pattern matches with `@switch` without getting any warnings. There's no reason to warn, the performance of the generated bytecode is good.
* | | | | Merge pull request #4399 from lambdista/scaladoc-typo-1Lukas Rytz2015-03-311-2/+2
|\ \ \ \ \ | | | | | | | | | | | | ScalaDoc typo
| * | | | | fix typo in scaladocAlessandro Lacava2015-03-241-2/+2
| | | | | |
* | | | | | Merge pull request #4375 from som-snytt/issue/8861Lukas Rytz2015-03-313-3/+14
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | SI-8861 Handle alias when probing for Any
| * | | | | SI-8861 Handle alias when probing for AnySom Snytt2015-03-093-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If args to a method are alias types, dealias to see if they contain Any before warning about inferring it. Similarly for return and expected types.
* | | | | | Merge pull request #4414 from retronym/topic/flakyJason Zaugg2015-03-311-2/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-8689 Make a Future test case determistic
| * | | | | | SI-8689 Make a Future test case determisticJason Zaugg2015-03-311-2/+7
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed: https://groups.google.com/forum/#!topic/scala-internals/m8I_3GQR4vQ We need to ensure a happens-before relationship between the callback that prints "success" and the end of the main method.
* | | | | | Merge pull request #4318 from soc/topic/remove-deprecation-warningsLukas Rytz2015-03-2857-157/+144
|\ \ \ \ \ \ | | | | | | | | | | | | | | Remove deprecation warnings
| * | | | | | Removed warningsEECOLOR2015-03-2635-48/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added `since` to deprecation statement - Added unit to parameter list - Removed usage of deprecated method polyType - Replaced deprecated `debugwarn` with `devWarning` - Changed switch statement to if else in order to remove a warning - Switched implementation of `init` and `processOptions` to prevent warning - Replaced deprecated `Console.readLine` with `scala.io.StdIn.readLine` - Replaced deprecated `startOrPoint` with `start` - Replaced deprecated `tpe_=` with `setType` - Replaced deprecated `typeCheck` with `typecheck` - Replaced deprecated `CompilationUnit.warning` with `typer.context.warning` - Replaced deprecated `scala.tools.nsc.util.ScalaClassLoader` with `scala.reflect.internal.util.ScalaClassLoader` - Replaced deprecated `scala.tools.ListOfNil` with `scala.reflect.internal.util.ListOfNil` - Replaced deprecated `scala.tools.utils.ScalaClassLoader` with `scala.reflect.internal.util.ScalaClassLoader` - Replaced deprecated `emptyValDef` with `noSelfType` - In `BoxesRunTime` removed unused method and commented out unused values. Did not delete to keep a reference to the values. If they are deleted people might wonder why `1` and `2` are not used. - Replaced deprecated `scala.tools.nsc.util.AbstractFileClassLoader` with `scala.reflect.internal.util.AbstractFileClassLoader`
| * | | | | | new{Term,Type}Name→{Term,Type}Name, tpename/nme→{type,term}NamesSimon Ochsenreither2015-03-2621-58/+40
| | | | | | |
| * | | | | | Deprecations: Use of isPackage, hasSymbol, getter, setter...Simon Ochsenreither2015-03-2617-52/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ... replaced by hasPackageFlag, hasSymbolIn, getterIn, setterIn.
* | | | | | | Merge pull request #4410 from gourlaysama/wip/t9038-encoding-issuesVlad Ureche2015-03-283-17/+40
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | | SI-9038 fix scaladoc syntax highlightning to leave unicode alone
| * | | | | | SI-9038 fix scaladoc syntax highlightning to leave unicode aloneAntoine Gourlay2015-03-263-17/+40
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Syntax highlightning in code blocks used to manipulate the raw bytes of a String, converting them to chars when needed, which breaks Unicode surrogate pairs. Using a char array instead of a byte array will leave them alone.
* | | | | | Merge pull request #4361 from retronym/ticket/9182Lukas Rytz2015-03-263-1/+17
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-9182 Fix runtime reflection with package object, overloads
| * | | | | | SI-9182 Fix runtime reflection with package object, overloadsJason Zaugg2015-02-253-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eponymous modules and methods should be allowed to live in the same package scope. This can happen when using a module and and implicit class, or when defining the overloads manually. This commit tones back an assertion that was added for sanity checking runtime reflection thread safety to only fire when we are sure that neither the existing and current symbol of the given name are methods.
* | | | | | | Merge pull request #4358 from xeno-by/topic/names-defaultsLukas Rytz2015-03-263-14/+27
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | better errors for macro applications with wrong number of arguments
| * | | | | | better errors for macro applications with wrong number of argumentsEugene Burmako2015-02-243-14/+27
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tryNamesDefaults branch of application typechecking contains the checkNotMacro check, which errors out when we try to do named/default arguments for macros (that's not supported yet, see SI-5920 for discussion). Unfortunately, the check activates too early, because it turns out that we can also enter tryNamesDefaults when the user just provides insufficient number of arguments to a method by mistake, without expecting any default arguments at all. This leads to really confusing errors, which can luckily be fixed in a very simple way by moving the checkNotMacro check down the happy path of named/default typechecking.
* | | | | | Merge pull request #4310 from som-snytt/issue/9127-bLukas Rytz2015-03-256-9/+29
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-9127 Xlint doesn't think spaces are significant
| * | | | | | SI-9127 Xlint doesn't think spaces are significantSom Snytt2015-02-216-9/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For purposes of warning about missing interpolators, such as `"$greeting"` when the intended code was `s"$greeting"`, spaces are no longer significant. The heuristic was previously intended to allow compileresque strings, where the dollar sign is a common prefix. Currently, the Xlint warning can be selectively disabled.
* | | | | | | Merge pull request #4397 from retronym/topic/icode-diagnosticGrzegorz Kossakowski2015-03-241-7/+9
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | Improve diagnostic error on failed genLoadIdent
| * | | | | | Improve diagnostic error on failed genLoadIdentJason Zaugg2015-03-241-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This error has been haunting us recently, firstly on Greg's machine when compiling the compiler using the new SBT build, and more recently during PR validation in #4316. This commit will output an error like: symbol value c#16812 does not exist in Macro.impl, which contains locals value a#16810, value b#16811 I've included symbol IDs in the hope that they will prove useful. It seems that synthetic identifiers generated by the pattern matcher are often seen in the vicinity of this bug.
* | | | | | | Merge pull request #4380 from retronym/ticket/9020Jason Zaugg2015-03-243-2/+13
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-9020 Avoid spurious value discarding warning post-typer
| * | | | | | | SI-9020 Avoid spurious value discarding warning post-typerJason Zaugg2015-03-123-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Typechecking during the specialization phase was emitting a bogus warning about value discarding. Such warnings in the typer should be guarded by `!isPastTyper` to restrict the analysis to the code the user originally wrote, rather than the results of later typechecking. I've made this change to the value discarding warning. I've also changed a numeric widening warning in the vicinity, although I do not have a test case for that.
* | | | | | | | Merge pull request #4360 from retronym/ticket/9170Jason Zaugg2015-03-243-0/+13
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-9170 Fix resident compilation / specialization NPE
| * | | | | | | | SI-9170 Fix resident compilation / specialization NPEJason Zaugg2015-02-254-1/+15
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The resident compiler does its best to clean the decks at the conclusion of a compilation batch. One part of this is as follows: if the run was erroneous, reset the info of top level symbols defined in this run to the initial state, that is, to a `SourceFileLoader`. However, if the errors came late in the compilation pipeline, the map from symbols to the source files includes the results of the specialization transformation, which ends up with mappings like `Function1$sp... -> null`. This results in a `NullPointerException` on subsequent runs. This commits filters out null source files during the reset process.
* | | | | | | | Merge pull request #4364 from som-snytt/issue/sessiontestJason Zaugg2015-03-244-15/+106
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-9170 More flexible SessionTest
| * | | | | | | | SI-9170 More flexible SessionTestSom Snytt2015-03-034-15/+106
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SessionTest session text can include line continuations and pasted text. Pasted script (which looks like a double prompt) probably doesn't work. This commit includes @retronym's SI-9170 one-liner.
* | | | | | | | Merge pull request #4387 from retronym/ticket/9231Jason Zaugg2015-03-243-1/+14
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-9231 Don't attempt implicit search for erroneous parameter
| * | | | | | | | SI-9231 Don't attempt implicit search for erroneous parameterJason Zaugg2015-03-173-1/+14
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the instantiated type of an implicit parameter is erroneous, we should not attempt the implicit search. This avoids the following useless error message in the enclosed test: error: ambiguous implicit values: ... match expected type M[<error>]
* | | | | | | | Merge pull request #4371 from adriaanm/2.11.6-bumpJason Zaugg2015-03-243-4/+6
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Bump versions after 2.11.6 release.