GitHub user rectang opened a pull request:
https://github.com/apache/lucy-clownfish/pull/22
CLOWNFISH-47 Fix final methods v2
This pull request differs from the first version by enabling `final` method
optimization only within the parcel where the method became final.
Interdiff: https://gist.github.com/rectang/003f7095b0fb3c743c78
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/rectang/lucy-clownfish
CLOWNFISH-47-fix-final-methods-v2
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/lucy-clownfish/pull/22.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 #22
----
commit 9cec34f49c237e37438d8d740d63278ce24275d5
Author: Marvin Humphrey <[email protected]>
Date: 2015-05-20T22:35:14Z
Stop forcing invocant to "self" in codegen.
Use the original invocant name in generated method invocation function
and method typedef.
commit 5103537d1d16a6408edf5545de0c55623d6de2a7
Author: Marvin Humphrey <[email protected]>
Date: 2015-05-20T23:23:37Z
Use static inline funcs for final methods.
Instead of a macro which aliases to a specific implementing function,
wrap a call to the implementing function in a static inline function.
This encapsulates casting of the invocant, improving type safety. It is
also more compatible with CGO, which did not understand the macros.
commit 3c71bc735463cd58a831c515baa7301f5234038d
Author: Marvin Humphrey <[email protected]>
Date: 2015-05-20T23:40:56Z
Don't over-optimize final methods.
It is only valid to resolve a final method to a specific implementing
function when that function resides in the same parcel as the invocant.
A ancestor class in another parcel has the option of adding or removing
an implementation, so the descendant class cannot know for sure what
function it should resolve to.
commit 4d54bf6fbd05281de79ecc3e700db417f4133e08
Author: Marvin Humphrey <[email protected]>
Date: 2015-05-21T00:01:15Z
Fix invalid NULL argument.
commit 82d1467a14ce2634677e1d2e64eefae691e8661e
Author: Marvin Humphrey <[email protected]>
Date: 2015-05-21T00:02:43Z
Re-enable Go Travis build.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---