summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* SI-6886: Deprecate -expand-all-typesJanek Bogucki2016-03-041-1/+5
| | | | | | | This Scaladoc flag was added to assist with debugging and was not intended to have general availability. If an element requires a separate Scaladoc page add @documentable.
* Merge pull request #5007 from SethTisue/scala-dev-issue-89Seth Tisue2016-03-041-14/+5
|\ | | | | fix bootstrap regression (module docs weren't being published)
| * fix bootstrap regression (module docs weren't being published)Seth Tisue2016-03-031-14/+5
|/ | | | | | | | reverts the "skip docs on first module build" part of c4fc2fd42457a87fea9e7af94e0ba2f57e533854 since it was resulting in module docs never being published at all, which then would later cause release-website-archives to fail. see https://github.com/scala/scala-dev/issues/89
* Merge pull request #5004 from felixmulder/topic/scaladoc-fix-content-diagramsVlad Ureche2016-03-023-10/+14
|\ | | | | Fix diagrams for `Content Hierarchies` in scaladoc
| * Fix diagrams for `Content Hierarchies` in scaladocFelix Mulder2016-03-023-10/+14
|/
* Merge pull request #4934 from Shadow53/2.12.xSeth Tisue2016-03-011-0/+2
|\ | | | | Added Properties.isLinux to compliment the isWin and isMac methods
| * Added Properties.isLinux to compliment the isWin and isMac methodsShadow532016-01-301-0/+2
| |
* | Merge pull request #4997 from felixmulder/topic/scaladoc-unclutterVlad Ureche2016-03-018-148/+158
|\ \ | | | | | | Unclutter scaladoc entity members
| * | Unclutter scaladoc entity membersFelix Mulder2016-03-018-148/+158
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit attempts to fix some minor annoyances regarding the UI when it comes to how things are shown. I.e. the complete definition is now hidden. Long signatures like: ```scala class HashMap[A, +B] extends AbstractMap[A, B] with Map[A, B] with MapLike[A, B, HashMap[A, B]] with Serializable with CustomParallelizable[(A, B), ParHashMap[A, B]] ``` will be reduced to: `class HashMap[A, +B]`. Full signature will be shown on hover and unfold. The package-view has been tweaked to look better on non-HiDPI displays. Also, subpackages to current package are now displayed before other entities.
* | Merge pull request #4983 from felixmulder/topic/scaladoc-package-viewVlad Ureche2016-02-266-16/+221
|\ \ | | | | | | Add package view to scaladoc
| * | Add package view to scaladocFelix Mulder2016-02-266-16/+221
|/ / | | | | | | | | | | | | | | The package view shows the current package's: - siblings - children packages - path to root package - child entities (objects, traits, abstract types and classes)
* | Merge pull request #4996 from retronym/merge/2.11.x-to-2.12.x-20160225Seth Tisue2016-02-2548-96/+120
|\ \ | | | | | | Merge 2.11.x to 2.12.x [ci: last-only]
| * | Merge remote-tracking branch 'origin/2.11.x' into ↵Jason Zaugg2016-02-2548-96/+120
|/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | merge/2.11.x-to-2.12.x-20160225 Conflicts: scripts/jobs/integrate/bootstrap src/build/maven/scala-actors-pom.xml test/files/pos/t3420.flags Conflicts were trivial to resolve.
| * | Merge pull request #4995 from SethTisue/typesafe-is-now-lightbendSeth Tisue2016-02-2414-25/+25
| |\ \ | | | | | | | | Typesafe is now Lightbend
| | * | Typesafe is now LightbendSeth Tisue2016-02-2414-25/+25
| | | |
| * | | Merge pull request #4975 from szeiger/wip/backport-partest-0.13-to-2.11.xSeth Tisue2016-02-239-20/+17
| |\ \ \ | | |/ / | |/| | [nomerge] Backport partest 1.0.13 support to 2.11.x
| | * | Update to partest 1.0.13Jason Zaugg2016-02-173-18/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Which lets us remove the dependency on sbt-partest-interface, as this has been incorporated into scala-partest itself. Conflicts: scripts/jobs/integrate/bootstrap
| | * | Update partest to 1.0.12, test case for reporting invalid flagsLukas Rytz2016-02-177-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | Conflicts: test/files/pos/t3420.flags versions.properties
| * | | Merge pull request #4992 from joeratt/issue/9664Seth Tisue2016-02-221-2/+2
| |\ \ \ | | | | | | | | | | [SI-9664] - Updating README.md's IntelliJ version reference.
| | * | | [SI-9664] - Updating README.md's IntelliJ version reference.JoeRatt2016-02-221-2/+2
| | | | |
| * | | | Merge pull request #4986 from janekdb/2.11.x-remove-GNU-Java-man-pages-helpSeth Tisue2016-02-223-15/+3
| |\ \ \ \ | | |/ / / | |/| | | Remove GIJ memory configuration advice from man pages.
| | * | | Remove GIJ memory configuration advice from fsc, scala and scalac man pages.Janek Bogucki2016-02-203-15/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | GIJ is uncommonly used so general guidance on setting memory configuration in the fsc, scala and scalac man pages would only be of use to a highly select group of individuals. For 99.99999999999999% of users this info would be an historical curio at best and random noise at worst.
| * | | Merge pull request #4981 from retronym/topic/version-override-sbtStefan Zeiger2016-02-191-1/+3
| |\ \ \ | | |/ / | |/| | [sbt] Allow system properties to override entries in verions.props
| | * | [sbt] Allow system properties to override entries in verions.propsJason Zaugg2016-02-191-1/+3
| |/ /
| * | Merge pull request #4967 from lrytz/smhasherUrlSeth Tisue2016-02-152-2/+2
| |\ \ | | | | | | | | fix smhasher url
| | * | fix smhasher urlxuwei-k2016-02-152-2/+2
| |/ / | | | | | | | | | | | | google code is dead http://google-opensource.blogspot.jp/2015/03/farewell-to-google-code.html
| * | Merge pull request #4960 from janekdb/2.11.x-Scaladoc-ProductN-off-by-oneLukas Rytz2016-02-1523-24/+23
| |\ \ | | | | | | | | Fix off-by-one documentation error in Product<N>
| | * | Fix off-by-one documentation error in Product<N>Janek Bogucki2016-02-1123-24/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sanity check: scala> case class P2(i: Int, j: Int) defined class P2 val p2 = P2(1, 3) p2.productElement(0) res0: Any = 1 p2.productElement(1) res1: Any = 3 p2.productElement(2) java.lang.IndexOutOfBoundsException: 2 at P2.productElement(<console>:10)
| * | | Merge pull request #4956 from retronym/topic/sbt-tweaks-4Seth Tisue2016-02-113-18/+17
| |\ \ \ | | |/ / | |/| | Fix SBT tab completion of scala command
| * | | Merge pull request #4954 from retronym/topic/fullnameLukas Rytz2016-02-101-13/+25
| |\ \ \ | | | | | | | | | | Micro optimise Symbol#fullName
| | * | | Micro optimise Symbol#fullNameJason Zaugg2016-02-091-13/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old approach of recursively calling `fullNameAsName` creates a lot of garbage for intermediate results, in addition to needless interning of those results into the name table. This commit instead creates a string buffer of the correct capacity and writes the component names directly into this. I compared old and new approaches and this shows a 2x speedup. ``` scala> val th = ichi.bench.Thyme.warmed(verbose = print) th: ichi.bench.Thyme = ichi.bench.Thyme@1643e817 scala> val w_old = th.Warm(sym.fullNameAsNameOld('.')) w_old: th.Warm[$r.intp.global.Name] = ichi.bench.Thyme$Warm@7a8d001b scala> val w_new = th.Warm(sym.fullNameAsName('.')) w_new: th.Warm[$r.intp.global.Name] = ichi.bench.Thyme$Warm@1ec14586 scala> th.pbenchOffWarm("", x => println(x))(w_old, 10, "old")(w_new, 10, "new") Benchmark comparison (in 4.084 s) old vs new Significantly different (p ~= 0) Time ratio: 0.53572 95% CI 0.51618 - 0.55525 (n=20) old 64.54 ns 95% CI 62.41 ns - 66.67 ns new 34.57 ns 95% CI 34.04 ns - 35.11 ns res3: $r.intp.global.Name = scala.collection.parallel.mutable.ParSeq ``` It is still expensive enough that we should still consider caching. The call to full name in `classBTypeFromSymbol` in the new backed is a prime candidate for optimization.
| * | | | Merge pull request #4939 from szeiger/issue/9624Lukas Rytz2016-02-103-15/+25
| |\ \ \ \ | | | | | | | | | | | | SI-9624 Improve documentation for TraversableOnce
| | * | | | SI-9624 Improve documentation for TraversableOnceStefan Zeiger2016-02-043-15/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move the doc comment for `hasDefiniteSize` up from TraversableLike to GenTraversableOnce and improve it. - Add a note to `GenTraversableOnce.isEmpty` that implementations must not consume elements. - Clarify alternatives to subclassing TraversableOnce.
| * | | | | Merge pull request #4928 from szeiger/wip/document-e-ncLukas Rytz2016-02-102-1/+14
| |\ \ \ \ \ | | | | | | | | | | | | | | Document that `scala -e` starts/uses a compilation daemon
| | * | | | | Document when the `scala` command starts/uses a compilation daemonStefan Zeiger2016-02-012-1/+14
| | | | | | |
* | | | | | | Merge pull request #4968 from lrytz/oldOptCleanupAdriaan Moors2016-02-2470-260/+149
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove -Y settings that are no longer used in 2.12
| * | | | | | | Remove -Y settings that are no longer used in 2.12Lukas Rytz2016-02-1656-216/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a deprecation warning for `-optimize`. Later we'll also graduate `-Yopt` to `-opt`, probably for 2.12.0-M5.
| * | | | | | | Rewrite a few more tests to the new optimizerLukas Rytz2016-02-1515-44/+58
| | | | | | | |
* | | | | | | | Merge pull request #4958 from adriaanm/typerefrefactorAdriaan Moors2016-02-245-182/+189
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Simplify TypeRef hierarchy. baseType returns NoType, as needed for isSubtype. Also improves performance.
| * | | | | | | | thisInfo.parents also needs separate treatmentAdriaan Moors2016-02-121-1/+5
| | | | | | | | |
| * | | | | | | | Less distribution of logic across TypeRef subclassesAdriaan Moors2016-02-122-108/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Redeem myself for e1c732db44 -- hopefully. I inlined `thisInfo` (== `sym.info`), and made sure to use `relativeInfo` wherever prefix and args influence the result of the query that we're delegating to the underlying type. For type aliases, use `normalize` for `baseClasses` and `decls`, since `relativeInfo` breaks the gnarly SI-8177. I think normalize is okay for aliases, as the prefix should not matter when computing base classes, and infos for the members in `decls` are given the `asSeenFrom` treatment individually downstream. (It's a tight rope between rewriting too many symbols and maintaining correctness. Documented the trade-off in the code.) Renamed the unimaginative `transform` to `relativize`, which, although everything is relative, hopefully says a bit more about its usage than `transform`. Removed a lot of over-factoring in the TypeRef hierarchy. Ultimately, we need to reduce the number of TypeRef subclasses further, I think. It's really hard to follow what's going on. Removed the `thisInfo` cache, since `sym.info` and `relativeInfo` are both cached. Made the cache invalidation hooks a bit more OO-y. Compare `Symbol`s with `eq` -- they don't define an `equals` method. Also, don't recurse in isSubtype when a `baseType` results in `NoType`. This happens a lot and is cheap to check, so I posit (without proof), that it's better for performance (and clarity) to check before recursing.
| * | | | | | | | SI-9540 typedFunction is erasure awareAdriaan Moors2016-02-123-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When typer is running during erasure, must assign erased FunctionType in typedFunction. This removes a bunch of unneeded casts now we no longer assign a half-erased FunctionType. I poked around a bit, and it looks like erasure doesn't want typer to erase built-in types (like Unit/Any/Nothing). They are already treated specially during erasure.
| * | | | | | | | Towards understanding `TypeRef`'s `transformInfo`/`baseType`Adriaan Moors2016-02-101-94/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By reducing excessive factoring, we can save an extraneous call to `asSeenFrom`, and hopefully in a following commit figure out a bigger problem with `baseType` that is causing wrong subtyping results. This commit is a pure refactoring, save for the dropped ASF call, which is explained below. To motivate the following change to `relativeInfo`: ``` private[Types] def relativeInfo = /*trace(s"relativeInfo(${safeToString}})")*/{ if (relativeInfoPeriod != currentPeriod) { - val memberInfo = pre.memberInfo(sym) - relativeInfoCache = transformInfo(memberInfo) + relativeInfoCache = memberInfoInstantiated ``` Let's consolidate the two removed line in this new method: ``` def memberInfoInstantiated = transformInfo(pre.memberInfo(sym)) ``` To understand what `transformInfo` does, take these helpers spread over various `*TypeRef` traits, and consolidate them: ``` - def asSeenFromOwner(tp: Type) = tp.asSeenFrom(pre, sym.owner) // regular type refs: - def transformInfo(tp: Type): Type = appliedType(asSeenFromOwner(tp), args) // for no-args type refs: - override def transformInfo(tp: Type): Type = appliedType(asSeenFromOwner(tp), dummyArgs) ``` By removing the dynamic dispatch, we get the following method (given `require(args0 ne Nil, this)` in `ArgsTypeRef`, and `args eq Nil` by construction in `NoArgsTypeRef` ): ``` def transformInfo(tp: Type) = appliedType(tp.asSeenFrom(pre, sym.owner), if (args.isEmpty) dummyArgs else args) ``` Inlining `memberInfo`, which is defined as: ``` def memberInfo(sym: Symbol): Type = { require(sym ne NoSymbol, this) sym.info.asSeenFrom(this, sym.owner) } ``` gives us: ``` def memberInfoInstantiated = transformInfo(sym.info.asSeenFrom(pre, sym.owner)) ``` Inlining `transformInfo` as reworked above: ``` def memberInfoInstantiated = appliedType(sym.info.asSeenFrom(pre, sym.owner).asSeenFrom(pre, sym.owner), if (args.isEmpty) dummyArgs else args) ``` Whoops! One `asSeenFrom` should do... ``` + final protected def memberInfoInstantiated: Type = + appliedType(sym.info.asSeenFrom(pre, sym.owner), if (args.isEmpty) dummyArgs else args) ```
* | | | | | | | | Merge pull request #4989 from retronym/ticket/SD-88Seth Tisue2016-02-221-2/+0
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix boostrap script when STARR isn't customized
| * | | | | | | | | Fix boostrap script when STARR isn't customizedJason Zaugg2016-02-221-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes scala/scala-dev#88
* | | | | | | | | | Merge pull request #4991 from ↵Vlad Ureche2016-02-225-6/+71
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | felixmulder/topic/scaladoc-shortDescription-annotation Add doc annotation `@shortDescription` to enable explicit synopsis
| * | | | | | | | | Add doc annotation `@shortDescription` to enable explicit synopsisFelix Mulder2016-02-225-6/+71
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Entities with this annotation will be able to control what is shown in the method summary on entity pages as well as the hover text on search results. Review: @VladUreche
* | | | | | | | | Merge pull request #4979 from felixmulder/topic/scaladoc-search-progressVlad Ureche2016-02-184-42/+57
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Scaladoc: Add progress bar for search
| * | | | | | | | | Add progress bar for searchFelix Mulder2016-02-184-42/+57
|/ / / / / / / / /
* | | | | | | | | Merge pull request #4978 from felixmulder/topic/scaladoc-better-hover-textVlad Ureche2016-02-186-27/+24
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Scaladoc: Add better hover-text in search results