Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default -Xmixin-force-forwarders to true #5429

Merged
merged 5 commits into from Oct 12, 2016
Merged

Default -Xmixin-force-forwarders to true #5429

merged 5 commits into from Oct 12, 2016

Commits on Sep 30, 2016

  1. Error message for super calls to indirect java parent interfaces

    Super calls to indirect java parent interfaces cannot be emitted, an
    error message is emitted during SuperAccessors.
    
    The error message was missing if the super call was non-qualified,
    resulting in an assertion failure in the backend.
    lrytz committed Sep 30, 2016
    Copy the full SHA
    96fe4c3 View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    9246348 View commit details
    Browse the repository at this point in the history
  3. Explicit SerialVersionUID for all ClassTags / Manifests

    Looking at the class hierarchy around ClassTag and Manifest, the only
    class that had a serialVersionUID is AnyValManifest, where the hierarchy
    is something like:
    
    trait ClassTag                      // extends Serializable
    |- class GenericClassTag
    |- trait Manifest
       |- class ClassTypeManifest
       |- class SingletonTypeManifest
       |- ...
       |- abstract class AnyValManifest // has SerialVersionUID
          |- class DoubleManifest
          |- ...
    
    Note that AnyValManifest is an abstract class, so the SerialVersionUID
    annotation does not help there.
    
    This commit adds explicit SerialVersionUID annotations to (hopefully)
    all subclasses of ClassTag, to make sure they are stable under
    compatible changes (such as changing -Xmixin-force-forwarders).
    lrytz committed Sep 30, 2016
    Copy the full SHA
    759b0da View commit details
    Browse the repository at this point in the history
  4. Default -Xmixin-force-forwarders to true

    Also eliminates the warning when a mixin forwarder cannot be implemented
    because the target method is a java-defined default method in an
    interface that is not a direct parent of the class.
    
    The test t5148 is moved to neg, as expected: It was moved to pos when
    disabling mixin forwarders in 33e7106. Same for the changed error
    message in t4749.
    lrytz authored and adriaanm committed Sep 30, 2016
    Copy the full SHA
    0e0614c View commit details
    Browse the repository at this point in the history
  5. Test cases for super calls

    Recovered and adapted some test cases for super calls from scala#5415
    lrytz authored and adriaanm committed Sep 30, 2016
    Copy the full SHA
    550e47b View commit details
    Browse the repository at this point in the history