summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Fix Scaladoc overloaded method link to Duration companion objectJanek Bogucki2016-01-041-2/+2
| |/ / | | | | | | | | | | | | | | | The links were being skipped with a warning before this commit. The key change was to remove the result type and add an asterisk.
* | | Merge pull request #4902 from ruippeixotog/issue/9605Seth Tisue2016-01-132-6/+54
|\ \ \ | | | | | | | | SI-9605 Searching does not use binary search for Array
| * | | SI-9605 Searching does not use binary search for ArrayRui Gonçalves2016-01-122-6/+54
| |/ / | | | | | | | | | Binary search should be used for every `IndexedSeqLike` instance and not only for `IndexedSeq`. According the Scaladoc, it is `IndexedSeqLike` that guarantees "constant-time or near constant-time element access and length computation".
* | | Merge pull request #4892 from linasm/si-8641-2.11Seth Tisue2016-01-135-20/+20
|\ \ \ | |/ / |/| | SI-8641 Fix right shift docs for integer types
| * | SI-8641 Fix right shift docs for integer typesLinas Medziunas2016-01-035-20/+20
|/ / | | | | | | | | Docs for >> operation of integer types (from Byte to Long) had a wrong direction saying that it is bit-shift left.
* | Merge pull request #4765 from janekdb/2.11.x-scaladoc-diffSeth Tisue2015-12-181-0/+117
|\ \ | | | | | | Script to compare the current scaladoc with the parent commit's doc
| * | Enhance scaladoc-diff tool for Ubuntu.Janek Bogucki2015-10-031-27/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tested on Ubuntu 14.04.3 LTS. SUMMARY 1. Use `set -e` to ensure ant failure bails script. 2. Make best effort to display scaladoc build diff. 3. Quiet output from git checkout. 4. Prefer plumbing over porcelain when getting hashes. 5. Use short hashes to enhance output readability. 6. Use branch name when available. 7. Ensure scaladoc copies are clean. 8. Remove redundant use of scaladoc-compare. 9. Improve message formatting. 10. Use $(...) instead of backticks for more legible code. 11. Pause after reporting missing old file. 12. Report missing new files. DETAILS 1. Use `set -e` to ensure an ant failure bails the script. Turn off before diff because diff returns an error code when the compared files differ, which is expected to be seen. 2. Make best effort to display scaladoc build diff preferring graphical clients. opendiff is a Mac OS X command that opens a graphical diff display, meld is a graphical client for Ubuntu and other distros. On Ubuntu fallback to gvimdiff which will display graphically if possible otherwise in the console. Ultimately default to diff. Command detection taken from, http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script 3. Quiet output from git checkout to avoid detached head warning. The user does not need to see the detached head warning when running this. 4. Prefer plumbing over porcelain to avoid 'not found' error when getting SHA1s. Calling get-scala-commit-sha errors out on Ubuntu 14.04.3 with Bash 4.3.11 with these messages, tools/get-scala-commit-sha: 11: tools/get-scala-commit-sha: [[: not found tools/get-scala-commit-sha: 17: tools/get-scala-commit-sha: Bad substitution 5. Use short hashes to enhance output readability. 6. Use branch name when available. If the branch name is not used when the working directory is restored after checkout out the parent commit we will be in a detached HEAD state. Make a best effort to avoid that. 7. Ensure scaladoc copies are clean. Remove previous copy of scaladoc to ensure consistent behaviour on runs past the first. 8. Remove use of scaladoc-compare because the equivalent functionality is provided when iterating the new files. 9. Improve message formatting. 10. Use $(...) instead of backticks for more legible code. 11. Pause after reporting missing old file. Without this pause it was easy to miss the message when we had this sequence of differences, * differing files * missing file * differing files 12. Report missing new files. Along with reporting new files with no corresponding old file report the complementary scenario.
| * | Script to compare the current scaladoc with the parent commit's docJanek Bogucki2015-09-301-0/+71
| | |
* | | Merge pull request #4862 from retronym/ticket/9567Lukas Rytz2015-12-185-4/+82
|\ \ \ | | | | | | | | SI-9567 Fix pattern match on 23+ param, method local case class
| * | | SI-9567 Fix pattern match on 23+ param, method local case classJason Zaugg2015-11-253-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Typechecking constructor patterns of method local case classes was only working because of the existence of the unapply method in the companion, which is used if navigation to the case class companion object fails. We now support defintion of, and pattern matching on, case classes with more than 22 parameters. These have no `unapply` method in the companion, as we don't have a large enough tuple type to return. So for such case classes, the fallback that we inadvertently relied on would no longer save us, and we'd end up with a compile error advising that the identifier in the constructor pattern was neither a case class nor an extractor. This is due to the propensity of `Symbol#companionXxx` to return `NoSymbol` when in the midst of typechecking. That method should only be relied upon after typechecking. During typechecking, `Namers#companionSymbolOf` should be used instead, which looks in the scopes of enclosing contexts for symbol companionship. That's what I've done in this commit.
| * | | SI-9567 Fix latent bugs in patmat's reasoning about mutabilityJason Zaugg2015-11-252-3/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Under -optimize, the pattern matcher tries to avoid local variables in favour of directly accessing to non-var case class accessors. However, the code that analysed the patterns failed to account properly for repeated parameters, which could either lead to a compiler crash (when assuming that the n-th subpattern must have a corresponding param accessor), or could lead to a correctness problem (when failing to eagerly the bound elements from the sequence.) The test case that tried to cover seems only to have been working because of a separate bug (the primary subject of SI-9567) related to method-local case classes: they were treated during typechecking as extractors, rather than native case classes. The subsequent commit will fix that problem, but first we must pave the way with this commit that emits local vals for bound elements of case class repeated params.
* | | | Merge pull request #4882 from janekdb/2.11.x-scaladoc-tables-1Lukas Rytz2015-12-182-6/+11
|\ \ \ \ | | | | | | | | | | Document JavaConverters conversion from java.util.Properties to Map
| * | | | Document JavaConverters conversion from java.util.Properties to MapJanek Bogucki2015-12-122-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also - Fix grammar on duplicated DecorateAsJava comment by copying over from JavaConverters - Remove author tags
* | | | | Merge pull request #4831 from martijnhoekstra/patch-4Seth Tisue2015-12-171-0/+12
|\ \ \ \ \ | | | | | | | | | | | | add doc for log, sqrt
| * | | | | change phrasing around eulers number for `log(x)`martijnhoekstra2015-12-111-3/+1
| | | | | |
| * | | | | add doc for log, sqrtmartijnhoekstra2015-10-301-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | It's useful to know that log is the natural logarithm, not 10log or 2log or so. Also did sqrt "while I was at it"
* | | | | | Merge pull request #4883 from janekdb/2.11-x-scaladoc-ui-capitalizationSeth Tisue2015-12-161-2/+2
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | Apply title case to Scaladoc buttons: By Inheritance & Show All
| * | | | | Apply title case to Scaladoc buttons: By Inheritance & Show AllJanek Bogucki2015-12-151-2/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | The alternative choice was to change "Hide All" to "Hide all" to match existing capitalization but title case fits for this UI.
* | | | | Merge pull request #4876 from ruippeixotog/issue/9581Seth Tisue2015-12-152-2/+32
|\ \ \ \ \ | | | | | | | | | | | | SI-9581 Fix overflow on Vector take and drop methods
| * | | | | SI-9581 Fix overflow on Vector take and drop methodsRui Gonçalves2015-12-062-2/+32
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | Fixes the index/length comparison in `Vector#take` and `Vector#drop` so that they handle all possible integer values. Given the collection's invariants `startIndex >= endIndex` and `0 >= startIndex, endIndex`, it is sufficient to change the arithmetic in the comparison as done in this commit to avoid overflows. As cases when `n <= 0` are handled beforehand, `endIndex - n` cannot overflow, contrary to `startIndex + n`. If without the danger of overflows the condition yields true, on the other hand, `startIndex + n` cannot overflow as it is smaller than `endIndex` (as the previous formulation of the condition shows).
* | | | | Merge pull request #4881 from szeiger/wip/sbt-partestSeth Tisue2015-12-134-11/+20
|\ \ \ \ \ | |/ / / / |/| | | | Bug fixes for the sbt build and partest
| * | | | Create partest.properties from the sbt buildStefan Zeiger2015-12-041-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows partest to be run from the command line on the artifacts produced by the sbt build. The actual location for partest.properties is hardcoded in the partest script as build/pack/partest.properties. This will have to be changed when we make sbt the default build tool. To test this now you can manually copy the generated file from build-sbt/quick/partest.properties to build/pack/partest.properties.
| * | | | Make all of partest work in the sbt buildStefan Zeiger2015-12-043-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix the scoping of files/lib/*.jar. These files were not on the classpath when running partest from sbt. - Pass the same standard Java options to partest as from the command line. This requires new versions of scala-partest and scala-partest-interface. - Fix the classpath scanning in jvm/innerClassEnclMethodJavaReflection. It only worked for JARs and relative directories but not for absolute directory paths (which are produced by sbt).
| * | | | Fix dependency problems in the sbt buildStefan Zeiger2015-11-302-2/+3
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Create the directory for the output file when building an OSGi bundle. Otherwise a publishing command would fail if dist/mkPack had not been run before. - Depend only on “packagedArtifact” in “mkPack”, not on “packageBin”. The latter is sbt’s standard packaging task but some of the required dependencies need to be packaged as OSGi bundles.
* | | | Merge pull request #4869 from janekdb/2.11.x-intellij-code-inspectionsLukas Rytz2015-11-2714-31/+31
|\ \ \ \ | |/ / / |/| | | Apply some static code analysis recommendations
| * | | Apply some static code analysis recommendationsJanek Bogucki2015-11-2614-31/+31
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #4855 from szeiger/wip/sbt-osgiLukas Rytz2015-11-245-102/+413
|\ \ \ | | | | | | | | Create a full Scala distribution from sbt
| * | | [nomerge] Create a full Scala distribution from sbtStefan Zeiger2015-11-243-107/+334
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | [nomerge] Some small fixes for generated artifacts in the sbt buildStefan Zeiger2015-11-241-3/+22
| | | |
| * | | Fix JarJar “Keep” processing in sbt buildStefan Zeiger2015-11-241-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | [nomerge] Build man pages and scala-dist.jar from sbtStefan Zeiger2015-11-242-1/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* | | | Merge pull request #4859 from fthomas/topic/spec-value-conversionsLukas Rytz2015-11-241-1/+1
|\ \ \ \ | | | | | | | | | | Update number of subsections in Value Conversions
| * | | | Update number of subsections in Value ConversionsFrank S. Thomas2015-11-231-1/+1
| | | | |
* | | | | Merge pull request #4860 from ↵Lukas Rytz2015-11-241-5/+5
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | janekdb/2.11.x-scaladoc-fix-one-off-dot-restart-note Align DotRunner dot restart count with command option description
| * | | | Align DotRunner dot restart count with command option descriptionJanek Bogucki2015-11-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the command option description, val docDiagramsDotRestart = IntSetting( "-diagrams-dot-restart", "The number of times to restart a malfunctioning dot process before disabling diagrams (default: 5)", 5, None, _ => None ) Prior to this change dot was restarted four times instead of five. Maybe the intention of the option was to allow a total number of attempts to be specified but with 5 restarts we need 6 attempts. The local var was renamed to reflect this.
* | | | | Merge pull request #4849 from ↵Lukas Rytz2015-11-231-2/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | janekdb/2.11.x-remove-lagged-scaladoc-setttings-notes Remove notes about -doc-title and -doc-version not being used
| * | | | | Remove notes about -doc-title and -doc-version not being usedJanek Bogucki2015-11-181-2/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Confirmed these options are used by editing build-ant-macros.xml and viewing the output, <scaladoc docRootContent="${src.dir}/@{project}/${@{project}.docroot}" destdir="${build-docs.dir}/@{project}" - doctitle="${@{project}.description}" + doctitle="${@{project}.description} - test-title" docfooter="epfl" - docversion="${version.number}" + docversion="${version.number} - test-version"
* | | | | Merge pull request #4850 from ↵Lukas Rytz2015-11-231-1/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | janekdb/2.11.x-add-missing-scaladoc-commands-to-help-output Add two missed scaladoc commands into scaladoc specific help section
| * | | | | Add two missed scaladoc commands into scaladoc specific help sectionJanek Bogucki2015-11-181-1/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this change these scaladoc options were buried in the scalac section of the help text, -doc-external-doc -implicits-sound-shadowing With this change the options are listed in the scaladoc section. This will make the commands easier to discover.
* | | | | Merge pull request #4853 from SethTisue/mima-upgradeLukas Rytz2015-11-231-1/+1
|\ \ \ \ \ | | | | | | | | | | | | upgrade to MiMa 0.1.8
| * | | | | upgrade to MiMa 0.1.8Seth Tisue2015-11-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | just for general dogfooding purposes. also because the new version understands 2.12 bytecode better, and this commit will get merged onto 2.12
* | | | | | Merge pull request #4856 from ↵Lukas Rytz2015-11-231-11/+23
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | janekdb/2.11.x-scaladoc-excluded-classnames-more-data-like Refactor excluded qname test to be more data like
| * | | | | | Refactor excluded qname test to be more data likeJanek Bogucki2015-11-201-11/+23
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactoring extracts data from code into a form which is closer to configuration data. This is a step change toward making this configurable.
* | | | | | Merge pull request #4857 from ↵Lukas Rytz2015-11-231-13/+13
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | janekdb/2.11.x-scaladoc-fix-List-performance-time-space-formatting Fix List Scaladoc time & space formatting
| * | | | | Fix List Scaladoc time & space formattingJanek Bogucki2015-11-221-13/+13
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Performance section got sucked into a wormhole and popped up in the example tag. The laws of physics differ in the attributes block resulting in the loss of the line break between the Time and Space paragraphs. Fixed by moving the section out of the example tag.
* | | | | Merge pull request #4828 from retronym/topic/existential-containsLukas Rytz2015-11-165-13/+44
|\ \ \ \ \ | | | | | | | | | | | | Attacking exponential complexity in TypeMaps
| * | | | | Attacking exponential complexity in TypeMapsJason Zaugg2015-11-135-13/+44
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Don't normalize existentials during the `contain`-s type map; `ExistentialType#normalize' calls contains internally and an exponential blowup ensues. - Ensure that the type map used in variance validation never returns modified types in order to avoid needless cloning of symbols. The enclosed test case still gets stuck in Uncurry, thanks to the way that `TypeMap#mapOver(List[Symbol])` recurses through the type first to check whether the type map would be an no-op or not. If not, it repeats the type map with cloned symbols. Doing the work twice at each level of recursion blows up the complexity. Removing that "fast path" allows the enclosed test to compile completely. As at this commit, it gets stuck in uncurry, which dealiases `s.List` to `s.c.i.List` within the type. Some more background on the troublesome part of `TypeMap`: http://lrytz.github.io/scala-aladdin-bugtracker/displayItem.do%3Fid=1210.html https://github.com/scala/scala/commit/f8b2b21050e7a2ca0f537ef70e3e0c8eead43abc
* | | | | Merge pull request #4839 from SethTisue/reword-dependent-type-errorSeth Tisue2015-11-142-3/+3
|\ \ \ \ \ | |_|_|/ / |/| | | | less confusing wording for a dependent method type error
| * | | | less confusing wording for a dependent method type errorSeth Tisue2015-11-072-3/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | note to reviewers: the error messages in this file are over the place about whether they're called "parameter sections", or "argument lists", or what, so there's no point in being picky about that here for context see SI-823
* | | | Merge pull request #4824 from szeiger/wip/sbt-mkBinJason Zaugg2015-11-136-137/+394
|\ \ \ \ | | | | | | | | | | Improvements to the sbt build