[ 
https://issues.apache.org/jira/browse/CLOWNFISH-9?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14539139#comment-14539139
 ] 

ASF GitHub Bot commented on CLOWNFISH-9:
----------------------------------------

GitHub user rectang opened a pull request:

    https://github.com/apache/lucy-clownfish/pull/17

    CLOWNFISH-9 Make most types final (v2)

    Mark most core types as final: Blob, ByteBuf, CharBuf, Class, Method, Hash, 
HashIterator, Vector, and the concrete Num types.
    
    Differences from v1 of this pull request are:
    
    *   Rebase on top of current master.
    *   Omit commits using `new` instead of `init` for construction by Perl 
bindings.
    *   Add a stopgap bugfix which disables most `final` method optimization.
    


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/rectang/lucy-clownfish 
CLOWNFISH-9-most-types-final-v2

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/lucy-clownfish/pull/17.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #17
    
----
commit 7c1dc695c496352a9d44eb1a686d1ecc94b24ee9
Author: Marvin Humphrey <[email protected]>
Date:   2015-05-09T01:06:16Z

    Make PerlSub helpers more flexible.
    
    Add an extra argument, `first`, controlling which params to include.
    Don't force the first argument name to `self`.

commit 88895811c67745db71926895dfeea97931a474de
Author: Marvin Humphrey <[email protected]>
Date:   2015-05-09T02:04:07Z

    Change test to subclass Obj rather than Hash.
    
    Hash is about to become final, so we need to subclass a class which will
    remain extensible: Obj.

commit 5bcadfd0094adc7521dd3ab4dcc6c69017902870
Author: Marvin Humphrey <[email protected]>
Date:   2015-05-09T02:05:31Z

    Export OFFSET vars for `final` methods.
    
    Without the export, symbol resolution fails during dynamic linking.

commit cb6f14bacbbb1057ebba074b899e1d7994c28297
Author: Marvin Humphrey <[email protected]>
Date:   2015-05-09T02:24:56Z

    Export all _IMP symbols.
    
    It is not sufficient to export only _IMP symbols for final methods,
    because it's possible that a subclass final method be an alias for it.

commit 308086649bc83c549e4e67dcfaf2ee1ccbba8a44
Author: Marvin Humphrey <[email protected]>
Date:   2015-05-09T02:27:49Z

    Mark many core types as `final`.
    
    Blob, ByteBuf, CharBuf, Class, Hash, HashIterator, Method, Integer32,
    Integer64, Float32, Float64, Vector.

commit 0ea34cf37ac3a536c5be75aac71f13cac8ff2a0a
Author: Marvin Humphrey <[email protected]>
Date:   2015-05-12T02:13:31Z

    Temporarily disable broken final methods.
    
    Right now, final methods are broken unless they are fresh.  Disable the
    final method optimization.

commit d199d868af846d53b632dbdf7390dad5029c2fb0
Author: Marvin Humphrey <[email protected]>
Date:   2015-05-09T23:09:54Z

    Eliminate `arg_self` assumptions.
    
    Always use real name of first argument rather than assuming that it is
    `self`.

----


> Make most Clownfish core types final
> ------------------------------------
>
>                 Key: CLOWNFISH-9
>                 URL: https://issues.apache.org/jira/browse/CLOWNFISH-9
>             Project: Apache Lucy-Clownfish
>          Issue Type: Bug
>          Components: Runtime
>            Reporter: Marvin Humphrey
>            Assignee: Marvin Humphrey
>
> Obj and Err are designed to be extended.  Most everything else should be 
> sealed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to