| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
- 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.
|
|\ \
| | |
| | | |
Update IntelliJ build for use with sbt
|
| | | |
|
| |/ |
|
|\ \
| | |
| | | |
SI-9488 - adds the same default toString format to Scala Futures as 2…
|
| |/
| |
| |
| | |
Includes tests to verify the toString representations.
|
|\ \
| |/
|/| |
upgrade to latest scala-xml (namely 1.0.5)
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
there shouldn't be user-visible changes since 1.0.4, but regardless,
it's good to depend on the latest
|
|\ \ \
| |_|/
|/| | |
bundle a newer Akka actors jar
|
| |\ \
| |/ /
|/| | |
|
|\ \ \
| |_|/
|/| | |
bump versions after 2.11.8 release
|
|/ / |
|
|/
|
|
|
|
|
|
|
|
| |
might as well let people have the current stuff. I asked the
Akka folks and nobody saw a reason not to upgrade. this
version of Akka is the latest in the 2.3.x series, but is
also some months old, so no stability worries.
(this would have been included in 2.11.8 if I had thought of
it in time)
|
|\
| |
| | |
Document -Xxml:coalescing in scalac man page
|
| |
| |
| |
| | |
The formatting style is based on -g and -target.
|
|\ \
| | |
| | | |
explicitly specify insertion-order feature in docs
|
| | | |
|
|\ \ \
| | | |
| | | | |
Typesafe -> Lightbend in more places
|
|/ / / |
|
|\ \ \
| |_|/
|/| | |
SI-9546 Fix regression in rewrite of case apply to constructor call
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
During code review for the fix for SI-9546, we found a corner
case in the SI-9425 that remained broken.
Using `finalResultType` peels off all the constructor param
lists, and solves that problem.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In SI-9425, I disabled the rewrite of `CaseClass.apply(x)` to
`new CaseClass(x)` if the constructor was was less accessible
than the apply method. This solved a problem with spurious
"constructor cannot be accessed" errors during refchecks for
case classes with non-public constructors.
However, for polymorphic case classes, refchecks was persistent,
and even after refusing to transform the `TypeApply` within:
CaseClass.apply[String]("")
It *would* try again to transform the enclosing `Select`, a
code path only intended for monomorphic case classes. The tree has
a `PolyType`, which foiled the newly added accessibility check.
I've modified the call to `isSimpleCaseApply` from the transform
of `Select` nodes to exclude polymorphic apply's from being
considered twice.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I've identified a dead call to `transformCaseApply` that
seems to date back to Scala 2.6 vintages, in which case
factory methods were a fictional companion method, rather
than a real apply method in a companion module.
This commit adds an abort in that code path to aide code
review (if our test suite still passes, we know that I've
removed dead code, rather than silently changing behaviour.)
The following commit will remove it altogether
I then inlined a slightly clunky abstraction in the two
remaining calls to `transformCaseApply`. It was getting in the
way of a clean fix to SI-9546, the topic of the next commit.
|
|\ \
| | |
| | | |
Fix bold text in reflect API for 2.11.x
|
|/ /
| |
| | |
Same as #4999
|
|\ \
| | |
| | | |
upgrade to sbt 0.13.11
|
| | |
| | |
| | |
| | | |
yum! delicious dogfood!
|
|\ \ \
| | | |
| | | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`scala -deprecation` (without a trailing script argument)
wasn't allowed. Now it is.
I also supported trailing whitespace on all commands.
Also fixed: a bug with completion of `scalac ./san<TAB>`.
It was completing as though the `./` had not been typed,
which threw the suggestion off by a few characters.
|
|\ \ \
| | | |
| | | | |
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.
|