| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
JEP 118 added a MethodParameters attribute to the class file spec which
holds the parameter names of methods when compiling Java code with
`javac -parameters`.
We emit parameter names by default now.
|
|\
| |
| | |
SD-70 Don't share footnotes across multiple calls to universe.showRaw
|
|/
|
|
|
|
|
|
|
| |
Before this commit, multiple invocations of universe.showRaw used a
shared weak map that caches footnotes. If the two printed objects
have equal components printed as footnotes, e.g., an equal TypeRef,
the result of the second invocation depends on whether the object
has been collected (and removed from the weak map) or not.
See https://github.com/scala/scala-dev/issues/70#issuecomment-171701671
|
|\
| |
| | |
SI-9507 Make ArrayStack an IndexedSeqOptimized
|
| |
| |
| |
| | |
Just like `ArraySeq`, `ArrayBuffer` and all other collections that use an array as underlying data structure, `ArrayStack` should also be an instance of `IndexedSeq` and `IndexedSeqOptimized`. As expected by both of the traits, `ArrayStack` has constant-time random element access and length computation.
|
|\ \
| | |
| | | |
SI-9622 Native method may be private
|
| | |
| | |
| | |
| | |
| | |
| | | |
This was lost in a refactor.
https://github.com/scala/scala/commit/290f687fb6ab91b6aef62d871036ddc3829f12b4
|
|\ \ \
| | | |
| | | | |
SI-8700 Exhaustiveness warning for enums from Java source
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Until now, the warning was only emitted for enums from Java class files.
This commit fixes it by
- aligning the flags set in JavaParsers with the flags set in
ClassfileParser (which are required by the pattern matcher to
even consider checking exhaustiveness)
- adding the enum members as childs to the class holding the enum
as done in ClassfileParser so that the pattern matcher sees the enum
members when looking for the sealed children of a type
|
|\ \ \ \
| |_|/ /
|/| | | |
Fix problems with a locale-dependent decimal mark in StringContextTest
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Depending on the current locale one can get 3,400000e+00 instead of
3.400000e+00 so the expected result should take this into account.
It's a similar change to one I made some time ago in 2.11.x:
https://github.com/scala/scala/pull/4204
|
|\ \ \
| |/ /
|/| | |
Make StringContextTest pass on Windows
|
|/ /
| |
| |
| |
| |
| | |
One assertion in StringContextTest."f interpolator baseline"() was
relying on platform specific newline encoding, making it fail when run
on Windows.
|
|\ \
| | |
| | | |
fix mobile styling for scaladoc
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit addresses the need for an improved mobile viewing
experience. Specifically it introduces CSS media queries to adjust
sizing and indentation of elements on mobile devices. This includes
the following changes:
- replace absolute font sizing with relative font sizing
- fix font-resizing issues for mobile by fixing viewport
- hide related links when viewport too small
- fix missing trigram from heaven on Android
- remove indentation on annotations e.g. `@throws` and place associated
text on a separate line
- fix bottom scoll-bar appearing on code-snippets
- add spacing between entity icons in browser
- add dynamic top offset for entity description
- fix long entity names corrupting style
- remove "EXPERIMENTAL" button from shortcomment divs on mobile
|
|\ \
| | |
| | | |
SI-8289 Scaladoc: Make the order of subclasses deterministic
|
|/ / |
|
|\ \
| | |
| | | |
Add new look for scaladoc
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit adds a new look to scaladoc without changing its behaviour.
Features in this commit:
- New scaladoc look
- SVG icons instead of png for HiDPI displays
- Better layout of existing features
- Better title-bar colors for each entity type: trait, object, class
|
|\ \
| | |
| | | |
Create a full Scala distribution from sbt [2.12]
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This replicates the results of `ant -Dlocker.skip=1 distpack` with the
following differences:
- The POM files produced by the ant build under dists/maven still
contain unresolved variables like `@VERSION@`. The ant build resolves
them in the actual publishing process. The sbt build generates the
correct version numbers directly.
- Scaladoc sets in the ant build are created with the scaladoc tool from
“quick”. The sbt build uses the STARR scaladoc.
- The scaladoc sets for scala-actors, scala-compiler, scala-reflect and
scalap from the ant build contain documentation for the classes
`Null`, `Nothing`, `Any` and `AnyRef`. The sbt build omits those
classes from all doc sets (except for scala-library, of course) under
the assumption that this is a bug in the ant build.
Other idiosyncracies of the ant build like declaring a packaging type of
`jar` (instead of `bundle`) for OSGi bundles, or using slightly
different module names and descriptions in scaladocs, OSGi bundles and
POMs, are reproduced faithfully for now.
Publishing from the sbt build is done in the usual sbt way. No actual
publishing targets are currently defined in the build. In order to test
stability of the publishing process, the `publishDists` task can be used
to publish to dists/maven-sbt with the same directory layout and naming
conventions employed by the ant build for publishing to dists/maven.
Source and binary JARs are OSGi-enabled. For the source JARs this is
done by hand-crafting the appropriate MANIFEST.MF entries (like the ant
build does). Binary JARs are packaged with BND, using the same outdated
BND version as the ant build for now to get identical results. We do not
use sbt-osgi because it depends on a newer version of BND (probably OK
to upgrade in the future) and does not allow a crucial bit of
configuration that we need: Setting the classpath for BND. In sbt-osgi
this is always `fullClasspath in Compile` whereas we really want
`products in Compile in packageBin` to keep things simple.
Conflicts:
build.sbt
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- ManMaker is compiled in a new subproject “manual”. A simple command
line runner complements the ant task so that it can be run from sbt.
- Another new subproject “scala-dist” is responsible for building
the scala-dist.jar artifact.
Conflicts:
build.sbt
|
|\ \
| | |
| | | |
[SI-9454] Add isAlive method into sys.process.Process trait
|
| | | |
|
|\ \ \
| | | |
| | | | |
conRemove unused imports and other minor cleanups
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Language imports are preceding other imports
- Deleted empty file: InlineErasure
- Removed some unused private[parallel] methods in
scala/collection/parallel/package.scala
This removes hundreds of warnings when compiling with
"-Xlint -Ywarn-dead-code -Ywarn-unused -Ywarn-unused-import".
|
|\ \ \
| | | |
| | | | |
Desugar module var and accessor in refchecks/lazyvals
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `cond` tree is used in two places, so make it a by-name parameter
to create distinct Trees.
Also, remove a dangling comment.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Rather than leaving it until mixin.
The broader motivation is to simplify the mixin phase of the
compiler before we get rid of implementatation classes in
favour of using JDK8 default interface methods.
The current code in mixin is used for both lazy val and modules,
and puts the "slow path" code that uses the monitor into a
dedicated method (`moduleName$lzyCompute`). I tracked this
back to a3d4d17b77. I can't tell from that commit whether the
performance sensititivity was related to modules or lazy vals,
from the commit message I'd say the latter.
As the initialization code for a module is just a constructor call,
rather than an arbitraryly large chunk of code for a lazy initializer,
this commit opts to inline the `lzycompute` method.
During refchecks, mixin module accessors are added to classes, so
that mixed in and defined modules are translated uniformly. Trait
owned modules get an accessor method with an empty body (that shares
the module symbol), but no module var.
Defer synthesis of the double checked locking idiom to the lazyvals
phase, which gets us a step closer to a unified translation of
modules and lazy vals.
I had to change the `atOwner` methods to to avoid using the
non-existent module class of a module accessor method as the
current owner. This fixes a latent bug. Without this change,
retypechecking of the module accessor method during erasure crashes
with an accessibility error selecting the module var.
In the process, I've tweaked a tree generation utility method
to wvoid synthesizing redundant blocks in module desugaring.
|
|\ \ \ \
| | | | |
| | | | | |
SI-9110 Pattern `O.C` must check `$outer eq O` for a top level O
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The outer check was not being generated when the prefix was a
top level module. The enclosed test shows that we in fact must
synthesize the outer check in that case.
Perhaps the bug was introduced by neglecting to consider that
a module can inherit member classes.
|
|\ \ \ \
| |_|_|/
|/| | | |
SI-9583: Update SystemProperties.empty to fix builders
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
IntelliJ README improvements
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
* fix typo (`withing`)
* fix repeated text about bootstrapping
* fix bad Markdown (no blank line before bullet list)
* generally rewrite/reformat/overhaul
|
|\ \ \
| | | |
| | | | |
Upgrade JarJar in the ant build
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
This switches the JarJar dependency over to the Pantsbuild fork, which
supports Java 8 bytecode and is already used by the sbt build. Shading
of the embedded JLine is currently broken in 2.12 with the old version
(the shaded classes are not created).
|
|\ \ \
| | | |
| | | | |
Merge 2.11 to 2.12 nov 27
|
| |\ \ \ |
|
| | |\ \ \
| | | | | |
| | | | | | |
Apply some static code analysis recommendations
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fix a batch of code inspection recommendations generated by IntelliJ 14.1.5.
Categories of fix,
Unnecessary public modifier in interface
Replace filter+size with count
Replace filter+nonEmpty with exists
Replace filter+headOption with find
Replace `if (x != null) Some(x) else None` with Option(x)
Replace getOrElse null with orNull
Drop redundant semicolons
Replace anon fun with PF
Replace anon fun with method
|
| |\| | | |
|
| | |\ \ \
| | | | | |
| | | | | | |
Create a full Scala distribution from sbt
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This replicates the results of `ant -Dlocker.skip=1 distpack` with the
following differences:
- The POM files produced by the ant build under dists/maven still
contain unresolved variables like `@VERSION@`. The ant build resolves
them in the actual publishing process. The sbt build generates the
correct version numbers directly.
- Scaladoc sets in the ant build are created with the scaladoc tool from
“quick”. The sbt build uses the STARR scaladoc.
- The scaladoc sets for scala-actors, scala-compiler, scala-reflect and
scalap from the ant build contain documentation for the classes
`Null`, `Nothing`, `Any` and `AnyRef`. The sbt build omits those
classes from all doc sets (except for scala-library, of course) under
the assumption that this is a bug in the ant build.
Other idiosyncracies of the ant build like declaring a packaging type of
`jar` (instead of `bundle`) for OSGi bundles, or using slightly
different module names and descriptions in scaladocs, OSGi bundles and
POMs, are reproduced faithfully for now.
Publishing from the sbt build is done in the usual sbt way. No actual
publishing targets are currently defined in the build. In order to test
stability of the publishing process, the `publishDists` task can be used
to publish to dists/maven-sbt with the same directory layout and naming
conventions employed by the ant build for publishing to dists/maven.
Source and binary JARs are OSGi-enabled. For the source JARs this is
done by hand-crafting the appropriate MANIFEST.MF entries (like the ant
build does). Binary JARs are packaged with BND, using the same outdated
BND version as the ant build for now to get identical results. We do not
use sbt-osgi because it depends on a newer version of BND (probably OK
to upgrade in the future) and does not allow a crucial bit of
configuration that we need: Setting the classpath for BND. In sbt-osgi
this is always `fullClasspath in Compile` whereas we really want
`products in Compile in packageBin` to keep things simple.
|
| | | | | | |
|
| |\ \ \ \ \
| | | |/ / /
| | |/| | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It is not enough to check the return value of `process()` to determine
whether a class file should be kept or deleted. The classes that should
not be kept are only known after processing everything and files that
have already been written to disk may need to be deleted.
|
|/| | | | |
| |/ / / / |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- ManMaker is compiled in a new subproject “manual”. A simple command
line runner complements the ant task so that it can be run from sbt.
- Another new subproject “scala-dist” is responsible for building
the scala-dist.jar artifact.
|