| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
Align the Scala and Java doc comment scanning methods a bit.
The Scala one especially had gotten a bit messy,
with regular block comments being kind of accumulated,
but never actually registered as DocComments.
|
|
|
|
|
|
|
| |
Avoid StackOverflow on big comments.
Simplify `ScaladocJavaUnitScanner` while in there.
TODO: Do same for `ScaladocUnitScanner`?
|
|\
| |
| | |
Fixes to mixin forwarders
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They remain ValDefs until then.
- remove lazy accessor logic
now that we have a single ValDef for lazy vals,
with the underlying machinery being hidden until the fields phase
leave a `@deprecated def lazyAccessor` for scala-refactoring
- don't skolemize in purely synthetic getters,
but *do* skolemize in lazy accessor during typers
Lazy accessors have arbitrary user code, so have to skolemize.
We exempt the purely synthetic accessors (`isSyntheticAccessor`)
for strict vals, and lazy accessors emitted by the fields phase
to avoid spurious type mismatches due to issues with existentials
(That bug is tracked as https://github.com/scala/scala-dev/issues/165)
When we're past typer, lazy accessors are synthetic,
but before they are user-defined to make this hack less hacky,
we could rework our flag usage to allow for
requiring both the ACCESSOR and the SYNTHETIC bits
to identify synthetic accessors and trigger the exemption.
see also https://github.com/scala/scala-dev/issues/165
ok 7 - pos/existentials-harmful.scala
ok 8 - pos/t2435.scala
ok 9 - pos/existentials.scala
previous attempt: skolemize type of val inside the private[this] val
because its type is only observed from inside the
accessor methods (inside the method scope its existentials are skolemized)
- bean accessors have regular method types, not nullary method types
- must re-infer type for param accessor
some weirdness with scoping of param accessor vals and defs?
- tailcalls detect lazy vals, which are defdefs after fields
- can inline constant lazy val from trait
- don't mix in fields etc for an overridden lazy val
- need try-lift in lazy vals: the assign is not seen in uncurry
because fields does the transform (see run/t2333.scala)
- ensure field members end up final in bytecode
- implicit class companion method: annot filter in completer
- update check: previous error message was tangled up with unrelated
field definitions (`var s` and `val s_scope`),
now it behaves consistently whether those are val/vars or defs
- analyzer plugin check update seems benign, but no way to know...
- error message gen: there is no underlying symbol for a deferred var
look for missing getter/setter instead
- avoid retypechecking valdefs while duplicating for specialize
see pos/spec-private
- Scaladoc uniformly looks to field/accessor symbol
- test updates to innerClassAttribute by Lukas
|
| |
|
|
|
|
|
|
|
| |
- fix initialization NPE in doc headers
- fix assertion errors for java fields
- ignore comments when deciding where to put interface methods
- consider DocDefs when checking for constructors
|
|\
| |
| | |
SI-9585 hide auto-implicit conversions from scaladoc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This hides implicits conversions (and potential members obtained through
it) that converts a type into itself, because these conversions are
usually non-sensical. They are not completely removed, just placed behind
`-doc-implicits-show-all`, like other implicits deemed probably useless.
---
Consider the scaladoc for the following class:
```
object Box {
implicit def anyToBox[T](t: T): Box[T] = new Box(t)
}
class Box[T](val t: T)
```
When looking for implicits members to add to class `Box`, it finds the
implicit conversion `anyToBox`, and applies it to itself to have an
implicit conversion to Box[Box[T]], which brings a useless implicit
member `t: Box[T]`.
This commit makes scaladoc ignore any conversion from a type to itself
(even if type parameters differ) by default.
Using the (very useful) `tools/scaladoc-diff` script, I found that this
change removes the following conversion from the library doc:
```
Ensuring[A] to Ensuring[Ensuring[A]]
anytostringadd[A] to any2stringadd[anytostringadd[A]]
ArrowAssoc[A] to ArrowAssoc[ArrowAssoc[A]]
=:=[From,To] to =:=[From,To]
SearchImpl[A,Repr] to SearchImpl[A,SearchImpl[A,Repr]]
CollectionsHaveToParArray[C, T] to CollectionsHaveToParArray[CollectionsHaveToParArray[C, T], T]
Ordered[A] to Ordered[Ordered[A]]
StringFormat[A] to StringFormat[StringFormat[A]]
```
|
| |
| |
| |
| |
| | |
It would trigger 3091 times per test run.
Use CSS to handle overflow instead.
|
| |
| |
| |
| |
| |
| |
| | |
Also update a few example IDE files for Eclipse and IntelliJ.
This drops the dependency by integrating the bare minimum functionality
to keep things working.
|
| |
| |
| |
| |
| | |
* Hook into java parser to generate doc comments
* Generate empty trees for java implementation bodies
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Support directories in `-doc-external-doc`: It is documented as
accepting a “classpath_entry_path” for the keys but this only worked
for JARs and not for individual class files. When checking for
external-doc mappings for a Symbol, we now find the root directory
relative to a class file instead of using the full class file path.
The corresponding tests for SI-191 and SI8557 are also fixed to
support individual class files instead of JARs in partest. This is
required for the sbt build which runs partest on “quick” instead of
“pack”.
- Fix version and repository handling for bootstrapping. The bootstrap
`scalaInstance` can now be resolved from any repository added to the
project (not just the bootstrap repositories) by using a different
workaround for https://github.com/sbt/sbt/issues/1872.
- Workaround for https://github.com/sbt/sbt/issues/2640 (putting the
wrong `scalaInstance` on partest’s classpath). The required
`ScalaInstance` constructor is deprecated, so we have to disable
deprecation warnings and fatal warnings until there is a better fix.
- Add MiMa to the sbt build (port of the old `test.bc` ant task). The
sbt-mima plugin doesn’t have all the features we need, so we do it
manually in a similar way to what the plugin does. Checks are done
in both directions for the `library` and `compiler` projects. The
base version has to be set in `build.sbt`. When set to `None`, MiMa
checks are skipped. MiMa checks are run sequentially to avoid spurious
errors (see https://github.com/typesafehub/migration-manager/issues/115).
- Port the OSGi tests to the sbt build. The set of JARs that gets copied
into build/osgi as bundles is a bit different from the ant build. We
omit the source JARs but add additional modules that are part of the
Scala distribution, which seems more correct.
- Get rid up `pull-binary-libs.sh` for the sbt build. Add artifacts are
resolved from the special bootstrap repository through Ivy. The
special `code.jar` and `instrumented.jar` artifacts are copied to the
location where partest expects them (because these paths are hardcoded
in partest). Other extra JARs for partest in `test/files/lib` are
referenced directly from the Ivy cache.
- Move common settings that should be available with unqualified names
in local `.sbt` files and on the command line into an auto-plugin.
- Add an `antStyle` setting to sbt to allow users to easily enable
ant-style incremental compilation instead of sbt’s standard name
hashing with `set antStyle := true`.
- Disable verbose `info`-level logging during sbt startup for both,
`validate/test` and `validate/publish-core` jobs. Update logging is
no longer disabled when running locally (where it is useful and
doesn’t generate excessive output).
- Pass optimization flags for scalac down to partest, using the new
partest version 1.0.15\6.
- Call the new sbt-based PR validation from `scripts/jobs/validate/test`.
- Disable the tests `run/t7843-jsr223-service` and `run/t7933` from
https://github.com/scala/scala/pull/4959 for now. We need to set up
a new test project (either partest or junit) that can run them on a
packaged version of Scala, or possibly move them into a separate
project that would naturally run from a packaged Scala as part of the
community build.
|
| | |
|
| |
| |
| |
| |
| | |
The default behavior when parsing the content of a tag text (like after
`@example`) was to ignore empty lines. That's fine, except when we are
in the middle of a code block, where preserving formatting matters.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Unify treatment of built-in functions and SAMs
|
| | | |
|
|\ \ \
| | | |
| | | | |
minor style updates for Scaladoc formatting
|
| |/ /
| | |
| | |
| | |
| | | |
- lighten hover highlight color for higher text/background contrast
- adjust border-left for div.members to prevent content shifts on-hover
|
|\ \ \
| | | |
| | | | |
Add back to search for Scaladoc
|
| |/ / |
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| | |
* Member description auto-expands
* If member comes from implicits is now becomes visible
* Member is no longer hidden by search bar after scrolling
* Permalink button now works when member is in a group (scrolling is still broken)
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Merge 2.11.x into 2.12.x [ci: last-only]
|
| |\|
| | |
| | |
| | | |
Resolved conflicts as in b0e05b67c7
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| | |
This commit changes the behavior to only remove the "x" if there is no
input in the input field. The old behavior was to bind the blur event to
be fired later - but this had the drawback of not working properly on
fast hardware as the timeout would actually beat the click event.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Several elements of the old Scaladoc are not in use anymore. To help
with any reverting, the removal of these is done in a single commit
(this one).
The removal includes:
- Old `Index`, the old top "index.html"
- The letter index (with "_" and "deprecated")
- The old `Template` which is superceded by `Entity`
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit will also fix the `Filter All Members` input appearing if
there are no members - please see root for an example.
There's also a small CSS fix that addresses a vertical scrollbar on
smaller viewports (footer was not responsively resized).
review: @VladUreche
lol
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The package view shows the current package's:
- siblings
- children packages
- path to root package
- child entities (objects, traits, abstract types and classes)
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This commit removes arrows and other symbols previously provided by
UTF8-symbols. Instead it uses the Material Typeface that we've used
for the search icon and graph symbols.
review: @VladUreche, @lrytz
|
| |
| |
| |
| |
| |
| | |
Previously only entities like classes and traits would allow for filter
of members. This commit removes that restriction by always including
the `<div id="order">` in the entity template.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit adds a revamped search function for the scaladoc tool. It
also contains a number of small fixes for HTML-layout and JavaScript
issues.
The search is implemented by enhancing the scheduler and using
JavaScript promises. List of changes/additions:
* Revamped search functionality
- Search members as well as entities
- Preserve keyboard navigation
- Scroll to selected entity if outside of viewport
- Non-blocking, cancelable
* Display of library name (top left)
* Refactored scheduler
* Cleanup of HTML layout
- Remove left pane
- Better mobile layout, no need for dynamic offsets
- Remove unused element classes
- Remove iframe structure
- Better layout for kinds
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/library/scala/collection/Iterator.scala
|
`-- trivial conflicts only. Parens were added to the
next() calls in 2.12.x, while in the meantime
`{Concat,Join}Iterator` were optimized in 2.11.x
|