summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* improve README (#5163)Lukas Rytz2016-05-181-16/+48
|
* Merge pull request #5103 from ruippeixotog/improve-list-map-set-perfLukas Rytz2016-05-172-305/+194
|\ | | | | Improve performance and behavior of ListMap and ListSet
| * Add SerialVersionUID to ListSetRui Gonçalves2016-05-171-0/+3
| |
| * Make ListMap and ListSet implementations similarRui Gonçalves2016-05-172-247/+156
| | | | | | | | ListSet and ListMap are two collections which share the exact same internal structure. This commit makes the two approaches as similar as possible by renaming and reordering internal methods, improving their Scaladoc and their code style. The Scaladoc of the classes and companion objects is also improved in order to alert users of the time complexity of the collections' operations.
| * Improve performance and behavior of ListMap and ListSetRui Gonçalves2016-05-172-62/+39
| | | | | | | | | | | | | | | | Makes the immutable `ListMap` and `ListSet` collections more alike one another, both in their semantics and in their performance. In terms of semantics, makes the `ListSet` iterator return the elements in their insertion order, as `ListMap` already does. While, as mentioned in SI-8985, `ListMap` and `ListSet` doesn't seem to make any guarantees in terms of iteration order, I believe users expect `ListSet` and `ListMap` to behave in the same way, particularly when they are implemented in the exact same way. In terms of performance, `ListSet` has a custom builder that avoids creation in O(N^2) time. However, this significantly reduces its performance in the creation of small sets, as its requires the instantiation and usage of an auxilliary HashSet. As `ListMap` and `ListSet` are only suitable for small sizes do to their performance characteristics, the builder is removed, the default `SetBuilder` being used instead.
* | Merge pull request #5170 from retronym/merge/2.11.x-to-2.12.x-20160517Lukas Rytz2016-05-172-19/+25
|\ \ | | | | | | Merge 2.11.x to 2.12.x [ci: last-only]
| * \ Merge remote-tracking branch 'origin/2.11.x' into ↵Jason Zaugg2016-05-172-19/+25
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | merge/2.11.x-to-2.12.x-20160517 Conflicts: build.sbt test/files/run/repl-javap-app.check test/files/run/repl-javap-app.scala
| | * | SI-9740 Repl import fix -Yrepl-class-basedSom Snytt2016-05-022-19/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Under `-Yrepl-class-based`, templating must follow the same scoping as under traditional object-based. The new test shows a typical case where two values of the same simple name must be imported in different scopes.
* | | | SI-9773 Fix doc for "".lines (#5161)som-snytt2016-05-171-7/+9
|/ / / | | | | | | An empty string yields an empty iterator.
* | | Add summary reporting to Scaladoc (#5063)Felix Mulder2016-05-137-23/+81
| | |
* | | Merge pull request #5146 from som-snytt/issue/9045-msgLukas Rytz2016-05-132-36/+34
|\ \ \ | | | | | | | | SI-9045 Error on recursive ctor
| * | | SI-9045 Error on recursive ctorSom Snytt2016-05-042-8/+14
| | | | | | | | | | | | | | | | If the constructor invokes itself, say so.
| * | | SI-9045 Refactor to abuse of matchSom Snytt2016-05-041-36/+28
| | | | | | | | | | | | | | | | | | | | Collapse conditionals into match for legible. Yes, guards have scary eval order.
* | | | Add check to scala REPL package to improve feedback about implicits (#5159)Jens2016-05-131-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the repl is started with additional compiler flags that prevent implicits being in scope (like -Yno-predef) the default message of implicits in scope using :implicits stays the same. This additional check will return the same message if predef is indeed in scope and an adjusted message if Predef is not in scope.
* | | | Merge pull request #5156 from retronym/topic/partest-1.0.14Jason Zaugg2016-05-122-2/+2
|\ \ \ \ | | | | | | | | | | Bump to scala-partest 1.0.14
| * | | | Bump to scala-partest 1.0.14Jason Zaugg2016-05-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This should fix the bootstrap build by incorporating https://github.com/scala/scala-partest/pull/58
* | | | | Correct off-by-one error in Product documentation (#5148)Janek Bogucki2016-05-111-1/+1
| | | | |
* | | | | SI-9397 Add "_root_" to "GenUtils.scalaFactoryCall" to avoid the scala ↵Shixiong Zhu2016-05-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | package name conflits (#5150) When a user imports some package ending with `scala`, the macro expansion of TypeTag may not work because it uses `scala.collection.immutable.List` but it's overrided. This patch adds the `_root_` prefix to avoid the scala package name conflits. Of cause, after this fix, importing a package ending with `_root_` has the same issue. However, people rarely do that.
* | | | | SI-9666: Use inline group names in Regex (#4990)som-snytt2016-05-111-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delegate `Match group name` to the underlying `matcher`. If that fails, try explicit group names as a fall back. No attempt is made to correlate inline and explicit names. In the following case, either name is accepted: ``` new Regex("a(?<Bar>b*)c", "Bee") ``` But if names are reversed, the error is undetected: ``` new Regex("a(?<Bee>b*)(?<Bar>c)", "Bar", "Bee") ``` Throw IllegalArg on bad group name to be consistent with Java.
* | | | | BitSet{1,2} conversion (#5127)Ruslan Sennov2016-05-111-5/+7
|/ / / / | | | | | | | | | | | | | | | | | | | | In current implementation when we set high word (elems1) of BitSet2 to zero, the result is BitSet2 again. I believe it is leading to excessive memory usage and result should be BitSet1. Private helper method createSmall(a: Long, b: Long) introduced.
* | | | Merge pull request #5042 from soc/SI-9539Jason Zaugg2016-05-051-2/+2
|\ \ \ \ | | | | | | | | | | SI-9539 Specify charset when reading ScalaSignatures, ...
| * | | | SI-9539 Specify charset when reading ScalaSignatures, ...Simon Ochsenreither2016-03-151-2/+2
| | | | | | | | | | | | | | | | | | | | ... without it we would use the platform's default charset.
* | | | | Merge pull request #5083 from xuwei-k/fix-Future-scaladocJason Zaugg2016-05-051-2/+2
|\ \ \ \ \ | | | | | | | | | | | | use Future#foreach instead of onSuccess in example code
| * | | | | use Future#foreach instead of onSuccess in example codexuwei-k2016-04-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bacause Future#onSuccess is deprecated https://github.com/scala/scala/commit/fa0743c32338f147eaf7a
* | | | | | Merge pull request #5112 from lrytz/dropRecursiveClasspathJason Zaugg2016-05-0527-945/+350
|\ \ \ \ \ \ | | | | | | | | | | | | | | Remove legacy recursive classpath implementation
| * | | | | | Remove abstraction layer in classpath implementationLukas Rytz2016-05-0227-408/+313
| | | | | | |
| * | | | | | faster AggregateClassPath.findClassLukas Rytz2016-04-231-13/+12
| | | | | | |
| * | | | | | remove recursive classpath implementationLukas Rytz2016-04-2319-577/+78
| | | | | | |
* | | | | | | Merge pull request #5132 from acdenhartog/patch-1Jason Zaugg2016-05-051-3/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Avoid function chaining with reverse method
| * | | | | | | Avoid function chaining with reverse methodArno den Hartog2016-04-271-3/+1
| | | | | | | |
* | | | | | | | Merge pull request #5140 from lrytz/inlineDefaultMethodsJason Zaugg2016-05-055-53/+161
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | SD-140 inline the correct default method
| * | | | | | | SD-140 inline the correct default methodLukas Rytz2016-04-285-53/+161
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | When inheriting multiple default methods, select the correct one to inline. Implements method resolution according to the JVM spec.
* | | | | | | Emit a warning when a constant expression evaluates to an ↵Olli Helenius2016-05-022-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ArithmeticException (#5123)
* | | | | | | SI-9752 never ignore blank lines when parsing code blocks (#5125)Antoine Gourlay2016-05-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default behavior when parsing the content of a tag text (like after `@example`) was to ignore empty lines. That's fine, except when we are in the middle of a code block, where preserving formatting matters.
* | | | | | | SD-142 Avoid noisy log output in backend (#5134)Jason Zaugg2016-05-022-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `withCurrentUnit` is designed to be called once per compilation unit as it side effects by logging and updating progress counters. `GenBCode` was calling it more frequently (once per `ClassDef`.) This is due to the somewhat convoluted internal architecture of that phase, which is designed to support paralellism in the future. This commit factors out the internal part of `withCompilationUnit` that modifies `currentUnit`, and calls that instead in the loop over classes. After this change: ``` % qscala -Ydebug ... [running phase jvm on <console>] // only once ```
* | | | | | | Add examples to Exception object and group members (#5111)Janek Bogucki2016-05-021-25/+165
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Extend main comment with additional examples - Group methods from a user perspective - List exceptions special cased by shouldRethrow - Include overlooked withTry in opt, either notes.
* | | | | | Merge pull request #5129 from retronym/ticket/9762Jason Zaugg2016-04-292-28/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-9762 Update the REPL to use JLine 2.14.1
| * | | | | | SI-9762 Remove workaround after upstream fix in jlineJason Zaugg2016-04-271-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we use a release of JLine that includes the fix for: https://github.com/jline/jline2/issues/208 We no longer need to the workaround introduced in 7719a3c. Screencast of the still-fixed behaviour: http://recordit.co/5pzh9OhlQv.gif
| * | | | | | SI-9762 Update to JLine 2.14.1Jason Zaugg2016-04-272-8/+10
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Motivated by the improvements to multi-byte character handling. Screencast showing the reported bug is fixed: http://g.recordit.co/ie1Z367NUl.gif Here's the changelog since JLine 2.12.1: https://github.com/jline/jline2/compare/jline-2.12.1...jline-2.14.1 I needed to disable a new, on-by-default feature in JLine so that it didn't add a " " after completing the token `equals` in `foo.equa<TAB>`.
* | | | | | Fix the Eclipse classpaths for 2.12.0-M4. (#5136)Performant Data2016-04-283-5/+5
| | | | | |
* | | | | | Merge pull request #5094 from lrytz/classOfUnitAdriaan Moors2016-04-271-2/+3
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Fix erasure for classOf[Unit], don't erase to classOf[BoxedUnit]
| * | | | | Fix erasure for classOf[Unit], don't erase to classOf[BoxedUnit]Lukas Rytz2016-04-201-2/+3
| | | | | |
* | | | | | More efficient code for deciding if a mixin forwarder is needed (#5116)Lukas Rytz2016-04-254-16/+27
| | | | | | | | | | | | | | | | | | | | | | | | Also adds a warning on junit test methods that compile as default methods.
* | | | | | Merge pull request #5115 from lrytz/merge-2.11-to-2.12-apr-22Lukas Rytz2016-04-2511-34/+116
|\ \ \ \ \ \ | | | | | | | | | | | | | | Merge 2.11 to 2.12 apr 22
| * \ \ \ \ \ Merge commit '684c314' into merge-2.11-to-2.12-apr-22Lukas Rytz2016-04-222-5/+13
| |\ \ \ \ \ \ | | | |_|_|_|/ | | |/| | | |
| | * | | | | SI-9734 Narrow type when import REPL history (#5084)som-snytt2016-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under `-Yrepl-class-based`, imports from historical `$read` instances must be singleton-typed so that path-dependent types remain so.
| | * | | | | SI-9735 REPL prefer standard escapes for code text (#5086)som-snytt2016-04-201-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When constructing code text for compilation, the REPL should prefer standard escape sequences, in case unicode escapes are disabled.
| * | | | | | Merge commit '23159d2' into merge-2.11-to-2.12-apr-22Lukas Rytz2016-04-229-29/+103
| |\| | | | | | | |_|/ / / | |/| | | |
| | * | | | Automate Eclipse settings and update project files: (#5091)Iulian Dragos2016-04-209-27/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove `M2_REPO`. All dependencies are picked up from `build/deps` - add script to update an existing workspace directory with the required path variables - add the default Scala library to several projects for better out-of-the-box experience. This means that changes in the scale-library project may not be visible in the other projects, but makes it way easier to get a working config. If you really need that, you probably know what you’re doing anyway.
| | * | | | Merge pull request #5054 from lrytz/intellij-2.112.11.xLukas Rytz2016-03-2323-234/+336
| | |\ \ \ \ | | | | | | | | | | | | | | Update IntelliJ build for use with sbt