summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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-0534-1200/+380
|\ \ \ | | | | | | | | Remove legacy recursive classpath implementation
| * | | Remove abstraction layer in classpath implementationLukas Rytz2016-05-0233-440/+339
| | | |
| * | | faster AggregateClassPath.findClassLukas Rytz2016-04-231-13/+12
| | | |
| * | | remove recursive classpath implementationLukas Rytz2016-04-2324-803/+85
| | | |
* | | | Merge pull request #5132 from acdenhartog/patch-1Jason Zaugg2016-05-052-3/+8
|\ \ \ \ | | | | | | | | | | Avoid function chaining with reverse method
| * | | | test PriorityQueue.reverseArno den Hartog2016-05-021-0/+7
| | | | |
| * | | | Avoid function chaining with reverse methodArno den Hartog2016-04-271-3/+1
| | | | |
* | | | | Merge pull request #5140 from lrytz/inlineDefaultMethodsJason Zaugg2016-05-058-65/+200
|\ \ \ \ \ | | | | | | | | | | | | SD-140 inline the correct default method
| * | | | | SD-140 inline the correct default methodLukas Rytz2016-04-288-65/+200
| |/ / / / | | | | | | | | | | | | | | | | | | | | 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-025-7/+15
| | | | | | | | | | | | | | | | | | | | ArithmeticException (#5123)
* | | | | SI-9752 never ignore blank lines when parsing code blocks (#5125)Antoine Gourlay2016-05-023-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | 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-293-29/+11
|\ \ \ \ \ | | | | | | | | | | | | 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-273-9/+11
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-272-2/+15
|\ \ \ \ \ | |/ / / / |/| | | | 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-202-2/+15
| | | | |
* | | | | More efficient code for deciding if a mixin forwarder is needed (#5116)Lukas Rytz2016-04-258-16/+42
| | | | | | | | | | | | | | | | | | | | 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-2516-35/+193
|\ \ \ \ \ | | | | | | | | | | | | Merge 2.11 to 2.12 apr 22
| * \ \ \ \ Merge commit '2dd311f' into merge-2.11-to-2.12-apr-22Lukas Rytz2016-04-220-0/+0
| |\ \ \ \ \
| | * | | | | CI: hardcode java path in integrate/windows scriptAdriaan Moors2016-04-211-5/+6
| | | | | | |
| | * | | | | Merge pull request #5113 from adriaanm/ci-win-java6Adriaan Moors2016-04-211-0/+3
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | CI: use java 6 for windows integration
| | | * | | | | CI: use java 6 for windows integrationAdriaan Moors2016-04-211-0/+3
| | |/ / / / /
| * | | | | | Merge commit '684c314' into merge-2.11-to-2.12-apr-22Lukas Rytz2016-04-227-6/+90
| |\| | | | |
| | * | | | | SI-9734 Narrow type when import REPL history (#5084)som-snytt2016-04-203-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-203-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When constructing code text for compilation, the REPL should prefer standard escape sequences, in case unicode escapes are disabled.
| | * | | | | Updating README.md Eclipse version reference. (#5092)CodingTwinky2016-04-201-1/+1
| | | | | | |
| * | | | | | 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 #5109 from lrytz/pr5064Lukas Rytz2016-04-2373-503/+873
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-9684 Deprecate JavaConversions
| * | | | | | Rename the (deprecated) implicit conversion methods in JavaConversionsLukas Rytz2016-04-224-2/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide higher-priority implicit conversion methods whose names don't clash with methods in JavaConverters. This allows implicit conversions to work when importing both JavaConverters._ and JavaConversions._.
| * | | | | | Cleaned up Scaladoc for JavaConverters and non-deprecated friendsLukas Rytz2016-04-227-872/+261
| | | | | | |
| * | | | | | SI-9684 Deprecate JavaConversionsSom Snytt2016-04-2271-152/+1076
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implicit conversions are now in package convert as ImplicitConversions, ImplicitConversionsToScala and ImplicitConversionsToJava. Deprecated WrapAsJava, WrapAsScala and the values in package object. Improve documentation.
* / / / / / SI-9516 Fix the behavior of Int shift Long operations. (#5117)Sébastien Doeraene2016-04-233-7/+60
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In any shift operation where the lhs is an Int (or smaller) and the rhs is a Long, the result kind must be Int, and not Long. This is important because the lhs must *not* be promoted to a Long, as that causes an opcode for long shift to be emitted. This uses an rhs modulo 64, instead of int shifts which use an rhs module 32. Instead, the rhs must be downgraded to an Int. The new behavior is consistent with the same operations in the Java programming language.
* | | | | CI: hardcode java path in integrate/windows scriptAdriaan Moors2016-04-211-7/+7
| | | | |
* | | | | Merge pull request #5110 from sjrd/remove-duplicate-implem-of-hashcodesLukas Rytz2016-04-2211-108/+74
|\ \ \ \ \ | | | | | | | | | | | | Remove the duplicate implem of hash codes for numbers.
| * | | | | Remove the duplicate implem of hash codes for numbers.Sébastien Doeraene2016-04-2112-103/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, there were two separate implementations of hash code for boxed number classes: * One in Statics, used by the codegen of case class methods. * One in ScalaRunTime + BoxesRunTime, used by everything else. This commit removes the variant implemented in ScalaRunTime + BoxesRunTime, and always uses Statics instead. We use Statics because the one from ScalaRunTime causes an unnecessary module load. The entry point ScalaRunTime.hash() is kept, as deprecated, for bootstrapping reasons.
| * | | | | Bring Statics.doubleHash in sync with BoxesRunTime.hashFromDouble.Sébastien Doeraene2016-04-212-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The two algorithms were different, and could result in different hash codes for some values, namely, valid long values that were not also valid int values. The other two functions `longHash` and `floatHash` are rewritten to keep a common style with `doubleHash`, but their algorithm does not change.
* | | | | | CI: fix integrate-windows scriptAdriaan Moors2016-04-211-1/+1
| | | | | |
* | | | | | Merge pull request #5114 from adriaanm/ci-win-java8Adriaan Moors2016-04-211-5/+5
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | CI: use java 8 for windows integration
| * | | | | CI: use java 8 for windows integrationAdriaan Moors2016-04-211-5/+5
|/ / / / /
* | | | | Merge pull request #5096 from lrytz/traitParentsLukas Rytz2016-04-2026-330/+639
|\ \ \ \ \ | | | | | | | | | | | | Ensure ClassBTypes constructed from symbol and classfile are identical
| * | | | | Ensure that lzycompute methods are entered into the scopeLukas Rytz2016-04-202-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason this was not the case, leading to spurious inliner warnings (no inline info found for method O$lzycompute).
| * | | | | Ensure ClassBTypes constructed from symbol and classfile are identicalLukas Rytz2016-04-205-34/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A super call (invokespecial) to a default method T.m is only allowed if the interface T is a direct parent of the class. Super calls are introduced for example in Mixin when generating forwarder methods: trait T { override def clone(): Object = "hi" } trait U extends T class C extends U The class C gets a forwarder that invokes T.clone(). During code generation the interface T is added as direct parent to class C. Note that T is not a (direct) parent in the frontend type of class C. This commit stores interfaces that are added to a class during code generation in the InlineInfo classfile attribute. This allows filtering the interface list when constructing a ClassBType from a classfile.