| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
fix bootstrap regression (module docs weren't being published)
|
|/
|
|
|
|
|
|
| |
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
|
|\
| |
| | |
Fix diagrams for `Content Hierarchies` in scaladoc
|
|/ |
|
|\
| |
| | |
Added Properties.isLinux to compliment the isWin and isMac methods
|
| | |
|
|\ \
| | |
| | | |
Unclutter scaladoc entity members
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
Add package view to scaladoc
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
The package view shows the current package's:
- siblings
- children packages
- path to root package
- child entities (objects, traits, abstract types and classes)
|
|\ \
| | |
| | | |
Merge 2.11.x to 2.12.x [ci: last-only]
|
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \
| | | |
| | | | |
Typesafe is now Lightbend
|
| | | | |
|
| |\ \ \
| | |/ /
| |/| | |
[nomerge] Backport partest 1.0.13 support to 2.11.x
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Which lets us remove the dependency on sbt-partest-interface,
as this has been incorporated into scala-partest itself.
Conflicts:
scripts/jobs/integrate/bootstrap
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
test/files/pos/t3420.flags
versions.properties
|
| |\ \ \
| | | | |
| | | | | |
[SI-9664] - Updating README.md's IntelliJ version reference.
|
| | | | | |
|
| |\ \ \ \
| | |/ / /
| |/| | | |
Remove GIJ memory configuration advice from man pages.
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |\ \ \
| | |/ /
| |/| | |
[sbt] Allow system properties to override entries in verions.props
|
| |/ / |
|
| |\ \
| | | |
| | | | |
fix smhasher url
|
| |/ /
| | |
| | |
| | |
| | | |
google code is dead
http://google-opensource.blogspot.jp/2015/03/farewell-to-google-code.html
|
| |\ \
| | | |
| | | | |
Fix off-by-one documentation error in Product<N>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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)
|
| |\ \ \
| | |/ /
| |/| | |
Fix SBT tab completion of scala command
|
| |\ \ \
| | | | |
| | | | | |
Micro optimise Symbol#fullName
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| |\ \ \ \
| | | | | |
| | | | | | |
SI-9624 Improve documentation for TraversableOnce
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- 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.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | | |
Document that `scala -e` starts/uses a compilation daemon
|
| | | | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Remove -Y settings that are no longer used in 2.12
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Added a deprecation warning for `-optimize`.
Later we'll also graduate `-Yopt` to `-opt`, probably for 2.12.0-M5.
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Simplify TypeRef hierarchy. baseType returns NoType, as needed for isSubtype. Also improves performance.
|
| | | | | | | | | |
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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.
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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.
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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)
```
|
|\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Fix boostrap script when STARR isn't customized
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
Fixes scala/scala-dev#88
|
|\ \ \ \ \ \ \ \ \ \
| |/ / / / / / / / /
|/| | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
felixmulder/topic/scaladoc-shortDescription-annotation
Add doc annotation `@shortDescription` to enable explicit synopsis
|
|/ / / / / / / / /
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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
|
|\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Scaladoc: Add progress bar for search
|
|/ / / / / / / / / |
|
|\ \ \ \ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | | |
Scaladoc: Add better hover-text in search results
|