| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Require and target Java 8
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Require Java 8 in ant build
- use -source 1.8 and -target 1.8 for javac
- Default scalac's -target to `jvm-1.8`, ignore and deprecate attempts
to use `jvm-1.{6.7}`
- Remove fragile javap-app test. The feature itself is slated for removal.
- Remove obsolete Java6 checkfile
- Adapt DCE tests
- Remove deprecated/redundant -target:jvm-1.6 from flags where the
intent was to trigger generation of stack map frames.
- Remove tests with -target:jvm-1.5 that tested without stack
map frames
- Ignore OpenJDK JVM warnings (via test/[files|scaladoc]/filters).
|
|\
| |
| | |
SI-9326 Fix regression with existentials in parent types
|
| |
| |
| |
| |
| |
| |
| |
| | |
Refines the previous commit by changing `Context#lookup` to
consider existential quantifiers, in the same manner as type
parameters, as exempt from consideration of the lookup prefix.
Furthermore, this logic is shared with `isInPackageObject`.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The typechecker rewrites `p.foo` to `p.<package>.foo` if `foo`
must come from a package object. This logic was overhauled in
51745c06f3, but this caused a regression.
I reverted to the predecessor of that commit to see how things
worked before. The lookup of the name `X` bound to the existential
quantifier, but incorrectly included the prefix `test.type` in the
result of the lookup. However, the subsequent call to
`isInPackageObject` (from `makeAccessible`) returned false, so
we didn't try to rewrite `X` to `test.<package>.X`.
This commit makes a minimal fix that makes `isInPackageObject`
return false for existentials.
|
|\
| |
| | |
change intArrayOps and friends return types for efficiency
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove object allocation overhead by peeling off abstraction layer,
revealing that the `ArrayOps` implicit conversions in `Predef`
return value classes.
d3f879a6b0 turned `ArrayOps.of<???>` into value classes,
but the non-`AnyVal` result type of the corresponding
`<???>arrayOps` implicit conversions (`ArrayOps[_]`) caused boxing anyway.
The optimized versions are introduced under a new name,
so that the old ones (without `implicit`) can be kept
for binary compatibility, for now.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Suppress (transitive) dependency on external scala-library
(through scala-partest). This caused trouble when binary compatibility
was not preserved for scala-library, as in #4297.
We already were doing this for `partest.compilation.path.noncore`,
but we seem to have missed `quick.partest-extras.build.path`.
|
|\ \
| |/
|/| |
Remove traces of scala-actors
|
|/ |
|
|\
| |
| | |
Move a Scaladoc sentence to the correct method
|
|/
|
| |
`paramLists` name doesn't end in `ss`, so that sentence belongs to `paramss`. Also a few punctuation fixes.
|
|\
| |
| | |
Merge 2.11.x into 2.12.x [ci: last-only]
|
| |\ |
|
| | |\
| | | |
| | | | |
Move ASM out of the repository [ci: last-only]
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
ij fix
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
The classfiles are still integrated into scala-compiler.jar.
|
| | |\ \
| | | | |
| | | | | |
Subst repo.typesafe -> dl.bintray, use jcenter cache
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Switch to https while we're at it,
and remove duplicate entry for sbt-plugin-releases
(NOTE: 'organization' <-> 'organisation',
see http://ant.apache.org/ivy/history/latest-milestone/concept.html#patterns)
|
| |\| | |
|
| | |\ \
| | | | |
| | | | | |
Backport releas script fixes to 2.11.x
|
| | | | |
| | | | |
| | | | |
| | | | | |
Backport of 48328cc2a2ae26cf6d6cec5da30605b1be6f0990
|
| | | | |
| | | | |
| | | | |
| | | | | |
Backport of 1a292c3d0fe10699837a02ffd8adc3ea4d3a6d22
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Scalacheck 1.12.x cross-compiles to JS and will take more work to
integrate.
Make sure we never attempt to publish scalacheck to sonatype.
Force checkout module refs in case of dirty workspace.
Backport of f238586d1b9d93533ee9507b56a26a97c2b2501c
|
| | | | |
| | | | |
| | | | |
| | | | | |
Backport of 9cd3e6505aa4285750e63263e2551ab71f36ff8d
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The tagged revisions of the modules integrate the latest release of
the sbt-scala-modules sbt plugin. This enables building with a new
scala binary version (e.g. 2.12.0-M1) without failinig MiMa.
Also updates the other external dependencies.
Backport of 8da073cd6bfaaaf3789fc8b70a61ebb66a2f0ded
|
| | | | |
| | | | |
| | | | |
| | | | | |
Backport of 7b54922b77fe1cf40177fc4a5ee9707bb5d854d2
|
| | | | |
| | | | |
| | | | |
| | | | | |
Backport of f9153619380d755a531f887fe0bd63b6e6a91738
|
| | | |/
| | | |
| | | |
| | | | |
Backport of 3b2abdf6af87debdfb01f22f185d2a35852218fc
|
|/| | |
| |/ / |
|
| |\ \
| | |/
| |/| |
Add @throws annotation to GenSeqLike.updated
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Similarly to GenSeqLike.apply, GenSeqLike.updated can throw
IndexOutOfBoundsException.
For example, the following throws IndexOutOfBoundsException:
Vector.empty[String].updated(0, "foo")
|
| |\
| | |
| | | |
SI-9302 -Xdisable-assertions raises elide level
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, the flag caused any elidable to be elided.
This commit simply sets -Xelide-below to ASSERTION + 1.
The flag is useful because there's no mnemonic for specifying
the magic constant as an option argument. `-Xelide-below ASSERTION`
means asserts are enabled.
|
| |\
| | |
| | | |
SI-9298 Fix erasure of value classes in Java
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Value classes that appear in signatures of Java defined methods
should not be erased to the underlying type.
Before this change, we'd get a `ClassCastException`, as the Scala
call site would unbox the value class despite the fact the Java
recipient would expect the boxed representation.
I've tested this for primitive and object wrapped types in parameter
and return position.
|
| |\
| | |
| | | |
Remove references to the old PDF version of the specification
|
| | | |
|
| |\ \
| | | |
| | | | |
SI-8679 Add support for ScalaLongSignature attribute in scalap
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
scalap didn't support really big class files. It was returning an
empty String for such files. The reason was that there were only
ScalaSignatures taken into account.
This commit adds support for ScalaLongSignature. We try to get such
an attribute when we didn't find ScalaSignature. Also there's added
an additional case to the logic retrieving bytes for a signature.
Since ScalaLongSignature can contain many parts, we have to merge
their byte arrays.
Changes are tested by a new partest-based test. These two files are
really big, but it was required (t8679.scala is a reduced version of
BigScalaClass - an example attached to JIRA).
There are also added TODOs with a JIRA ticket: We have three places,
where we process Scala signatures. In the future it would be better to
reuse some common logic, if it's possible.
|
| |\ \ \
| | | | |
| | | | | |
Fix scaladoc of Try#failed
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The documentation stated that it returns a Success[Throwable] regardless, either containing the failure or an UnsupportedOperationException. However only Failure#failed returns a success; Success#failed returns a Failure.
Also the phrasing of "Completes this `Try`" and "that `Try` failed with" sounds like it was copy-pasted from Future? Trys don't complete, nor fail, they are immutable.
|
| |\ \ \ \
| | | | | |
| | | | | | |
Use LambdaMetafactory where possible for lambda creation.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
```
scala> (x: Int) => {??? : Int}
res2: Int => Int = $$Lambda$1371/1961176822@6ed3ccb2
scala> res2(42)
scala.NotImplementedError: an implementation is missing
at scala.Predef$.$qmark$qmark$qmark(Predef.scala:225)
at .$anonfun$1(<console>:8)
at $$Lambda$1371/1961176822.apply$mcII$sp(Unknown Source)
... 33 elided
scala> (x: Int, y: Long) => {??? : Int}
res4: (Int, Long) => Int = $$Lambda$1382/1796047085@6f8e8894
scala> res4(0, 0L)
scala.NotImplementedError: an implementation is missing
at scala.Predef$.$qmark$qmark$qmark(Predef.scala:225)
at .$anonfun$1(<console>:8)
at $$Lambda$1382/1796047085.apply$mcIIJ$sp(Unknown Source)
... 33 elided
```
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When the ant build is run with `-Dscala-java8-compat.package`,
the contents of `org.scala-lang.modules:scala-java8-compat` are
spliced into `scala-library.jar`. This is handy to facilitate
downstream testing of indy lambdas, we can just use the the compiler
options `-target 1.8 -Ydelambdafy:method -Xexperimental` without
needed to add `scala-java8-compat.jar` to the compile and runtime
classpaths. (Classpath augmentation doesn't appear to be straight
forward in partest or in the community build.)
|
| | | | | | |
|