Permalink
Commits on Mar 21, 2016
  1. Merge pull request #5034 from janekdb/topic/2.12.x-scaladoc-Predef-me…

    SethTisue committed Mar 21, 2016
    …thod-groups
    
    Organise Predef methods into Scaladoc groups
  2. Merge pull request #5043 from dongjoon-hyun/fix_typos_in_spec_and_com…

    retronym committed Mar 21, 2016
    …ments
    
    Fix some typos in `spec` documents and comments.
  3. Merge pull request #5049 from janekdb/topic/2.12.x-bump-sbt-compiler-…

    retronym committed Mar 21, 2016
    …interface-0.13.11
    
    Update sbt version to most recent release
  4. Merge pull request #5003 from retronym/topic/nuke-impl-classes-sans-f…

    adriaanm committed Mar 21, 2016
    …ields
    
    New trait encoding using default methods
Commits on Mar 18, 2016
  1. Update STARR after bootstrapping the new trait encoding

    retronym committed Mar 18, 2016
    The previous commit was used to build a interim release,
    2.12.0-M3-dc9effe. That release process used dc9effe~1 as
    STARR. (by passing the parameter STARR_REF to the bootstrap
    job.)
    
    This commit switches to using 2.12.0-M3-dc9effe as STARR.
    
    It will not build until we have a public release of
    scalacheck against 2.12.0-M3-dc9effe, as requested in
    rickynils/scalacheck#225
  2. Remove manual mixins in JFunctionN.

    retronym committed Mar 16, 2016
    These manual mixins were forwarding to the impl classes have
    just been removed. We can now rely on default methods instead.
    
    Update Tests:
    
     - Fix test/files/pos/t1237.scala, we can't have an outer field
       in an interface, always use the outer method.
     - Don't crash on meaningless trait early init fields
       test/files/neg/t2796.scala
     - Remove impl class relate parts of inner class test
     - Remove impl class relate parts of elidable test
     - Remove impl class related reflection test.
     - Remove test solely about trait impl classes renaming
     - Update check file with additional stub symbol error
     - Disable unstable parts of serialization test.
        - TODO explain, and reset the expectation
  3. New trait encoding: use default methods, jettison impl classes

    retronym committed Mar 16, 2016
    Until now, concrete methods in traits were encoded with
    "trait implementation classes".
    
      - Such a trait would compile to two class files
        - the trait interface, a Java interface, and
        - the implementation class, containing "trait implementation methods"
      - trait implementation methods are static methods has an explicit self
        parameter.
      - some methods don't require addition of an interface method, such as
        private methods. Calls to these directly call the implementation method
      - classes that mixin a trait install "trait forwarders", which implement
        the abstract method in the interface by forwarding to the trait
        implementation method.
    
    The new encoding:
      - no longer emits trait implementation classes or trait implementation
        methods.
      - instead, concrete methods are simply retained in the interface, as JVM 8
        default interface methods (the JVM spec changes in
        [JSR-335](http://download.oracle.com/otndocs/jcp/lambda-0_9_3-fr-eval-spec/index.html)
        pave the way)
      - use `invokespecial` to call private or particular super implementations
        of a method (rather `invokestatic`)
        - in cases when we `invokespecial` to a method in an indirect ancestor, we add
        that ancestor redundantly as a direct parent. We are investigating alternatives
        approaches here.
      - we still emit trait fowrarders, although we are
        [investigating](scala/scala-dev#98) ways to only do
        this when the JVM would be unable to resolve the correct method using its rules
        for default method resolution.
    
    Here's an example:
    
    ```
    trait T {
      println("T")
      def m1 = m2
      private def m2 = "m2"
    }
    trait U extends T {
      println("T")
      override def m1 = super[T].m1
    }
    class C extends U {
      println("C")
      def test = m1
    }
    ```
    
    The old and new encodings are displayed and diffed here: https://gist.github.com/retronym/f174d23f859f0e053580
    
    Some notes in the implementation:
    
      - No need to filter members from class decls at all in AddInterfaces
        (although we do have to trigger side effecting info transformers)
      - We can now emit an EnclosingMethod attribute for classes nested
        in private trait methods
      - Created a factory method for an AST shape that is used in
        a number of places to symbolically bind to a particular
        super method without needed to specify the qualifier of
        the `Super` tree (which is too limiting, as it only allows
        you to refer to direct parents.)
        - I also found a similar tree shape created in Delambdafy,
          that is better expressed with an existing tree creation
          factory method, mkSuperInit.
  4. Skip module docs in first round of bootstrap when STARR_REF is used

    retronym committed Mar 16, 2016
    This is a second attempt at making this script operate when
    making a binary incompatible change to the compiler, such as
    the current effort to change the trait encoding.
    
    For builds that don't define STARR_REF, we continue to build docs
    in the first pass, as there will only be one pass for non-release
    builds.
    
    A previous attempt than disabling them in the first pass for all
    builds (c4fc2fd) triggered scala-dev/#89.
Commits on Mar 17, 2016
  1. Update sbt version to most recent release

    janekdb committed Mar 17, 2016
    In preparation for removing Predef#error which was deprecated in 2.9.0.
Commits on Mar 16, 2016
  1. Organise Predef members into Scaladoc groups

    janekdb committed Mar 16, 2016
    By grouping members and providing descriptions the signal to noise
    ratio in Predef is usefully enhanced.
Commits on Mar 15, 2016
  1. Merge pull request #5037 from janekdb/topic/2.12.x-scaladoc-fix-Sourc…

    adriaanm committed Mar 15, 2016
    …e-links
    
    Fix Scaladoc links in scala.io.Source
  2. Merge pull request #4974 from szeiger/wip/patmat-outertest

    adriaanm committed Mar 15, 2016
    More conservative optimization for unnecessary outer ref checks
  3. Merge pull request #5040 from adriaanm/rebase-5031

    retronym committed Mar 15, 2016
    Merge 2.11.x into 2.12.x [ci: last-only]
Commits on Mar 14, 2016
  1. Merge pull request #5018 from janekdb/topic/2.12.x-scaladoc-advertise…

    SethTisue committed Mar 14, 2016
    …-deprecated-read-methods-less-Predef
    
    Remove mention of deprecated I/O methods from Predef main comment
  2. Merge pull request #5013 from janekdb/2.12.x-Scaladoc-Conversions

    SethTisue committed Mar 14, 2016
    Format collection conversions Scaladoc as code blocks instead of bullets
  3. Merge pull request #5014 from janekdb/2.12.x-WeakHashSet-spelling

    SethTisue committed Mar 14, 2016
    Fix var spelling in WeakHashSet
  4. Merge pull request #5039 from felixmulder/topic/scaladoc-clear-input-…

    SethTisue committed Mar 14, 2016
    …behavior
    
    Scaladoc: change behavior of clear-button on input fields
  5. Merge 2.11.x into 2.12.x

    adriaanm committed Mar 14, 2016
    Resolved conflicts as in b0e05b6
  6. Change behavior of clear-button on input fields

    felixmulder committed Mar 14, 2016
    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.
  7. Remove mention of deprecated I/O methods from Predef main comment

    janekdb committed Mar 14, 2016
    The read* functions are deprecated so should not be highlighted.
    
    Copied Scaladoc from Console on the assumption that few people will tarry
    for long once they have seen the existence of the print* methods.
    
    Linkified print* methods.
    
    Added note to printf encouraging use of f interpolator.
  8. Merge pull request #4717 from Ichoran/issue/9347

    adriaanm committed Mar 14, 2016
    SI-9347  Efficient head/tail, if possible, for immutable maps & sets
  9. Merge pull request #5023 from dongjoon-hyun/fix_link_description

    SethTisue committed Mar 14, 2016
    Fix link descriptions
  10. Merge pull request #5038 from felixmulder/topic/scaladoc-remove-unuse…

    VladUreche committed Mar 14, 2016
    …d-classes
    
    Remove unused classes from Scaladoc
  11. Remove unused classes from Scaladoc

    felixmulder committed Mar 14, 2016
    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`
  12. Merge pull request #5015 from janekdb/topic/2.12.x-scaladoc-elide-bel…

    adriaanm committed Mar 14, 2016
    …ow-off-by-one-Predef
    
    Scaladoc: Fix elidable threshold off-by-one comment and link elidable
  13. Merge pull request #5009 from janekdb/2.12.x-bump-sbt-compiler-interface

    adriaanm committed Mar 14, 2016
    Update sbt version to most recent that includes the compiler interface
Commits on Mar 13, 2016
  1. Fix Scaladoc links in scala.io.Source

    janekdb committed Mar 13, 2016
    The link to iter will work if the restriction to showing only public members
    is lifted in the visibility section.
  2. Fix link descriptions.

    dongjoon-hyun committed Mar 8, 2016
Commits on Mar 9, 2016
  1. Merge pull request #5025 from SethTisue/next-is-2-11-9

    SethTisue committed Mar 9, 2016
    bump versions after 2.11.8 release
  2. Update sbt version to most recent that includes the compiler interface

    janekdb committed Mar 4, 2016
    compiler-interface-src.jar was available for 0.13.9 but not 0.13.10 or 0.13.11
    at the time this commit was tested.
    
    This in preparation for removing Predef#error which was deprecated in 2.9.0.
  3. Format collection conversions Scaladoc as code blocks instead of bullets

    janekdb committed Mar 5, 2016
      - Makes the list of conversions easier to scan
      - Makes main comment formatting internally consistent