GitHub user rectang opened a pull request:
https://github.com/apache/lucy-clownfish/pull/6
CLOWNFISH-28 Proof-of-concept Go take 2
The principle change in this branch is that instead of mapping abstract
Clownfish classes to Go interfaces and all other classes to public Go structs,
each class is now mapped to both an interface and a private Go struct whose
name is prefixed with `impl`. For example, the class `Foo` would be mapped to
an interface `Foo` and a struct `implFoo`.
See CLOWNFISH-28.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/rectang/lucy-clownfish
CLOWNFISH-28-POC-Go-take2
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/lucy-clownfish/pull/6.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 #6
----
commit 6826983164d3b4356ee7c8152042569de82ddf47
Author: Marvin Humphrey <[email protected]>
Date: 2015-03-28T23:22:31Z
Change ToPtr() to return `uintptr`.
Avoid returning `unsafe.Pointer`, so that Go modules which use
Clownfish-powered Go modules must import `unsafe` if they are to perform
any unsafe operations.
commit 7701119d1a7d3185878304f6a84d7abe35406f0d
Author: Marvin Humphrey <[email protected]>
Date: 2015-03-28T22:12:19Z
Change interface/struct Go model.
Instead of mapping abstract classes to Go interfaces and concrete classes
to Go structs, create one Go interface and one Go struct for each
class.
commit ada0baa6d5c0b81e750df8e35cc3feb06deb72c5
Author: Marvin Humphrey <[email protected]>
Date: 2014-12-04T04:56:52Z
Add CFC module for Go/C type mapping.
commit 1d6613c1d502eaf378fe407a53d9f4924d243e31
Author: Marvin Humphrey <[email protected]>
Date: 2015-03-15T17:42:55Z
Expose Parcel fetching from Go.
commit 562d48af7b02bbf364a8c6b195797525268508d1
Author: Marvin Humphrey <[email protected]>
Date: 2015-03-15T17:46:26Z
Stub out module for Go bindings.
commit 9923d78cb6a1f217bffdda3ecf5bb03a37cb283f
Author: Marvin Humphrey <[email protected]>
Date: 2015-03-19T17:36:23Z
Add `stdarg.h` to platform includes.
commit 5cc98efd3e38c35686d1c1dd33dd6fc3da98088d
Author: Marvin Humphrey <[email protected]>
Date: 2015-03-17T04:15:33Z
Write Go-specific hostdefs rather than reuse C.
commit 35dac58fddcd35d86b61121814c6f25e6c41fd73
Author: Marvin Humphrey <[email protected]>
Date: 2015-03-17T18:04:08Z
Add checks for whether funcs can be bound to Go.
commit 82f259db28c9d40da8bdd332211fd32f3e243ba6
Author: Marvin Humphrey <[email protected]>
Date: 2015-03-23T14:34:46Z
No host subclassing under Go for now.
commit bc381283cd8051dea7f3b3225a2c83ca7e8c9d70
Author: Marvin Humphrey <[email protected]>
Date: 2015-04-04T23:48:56Z
Rename ToPtr to TOPTR.
Using all caps avoids a potential conflict with Clownfish user-defined
method named `To_Ptr` -- though the unlikely `TO_PTR` would still cause
a conflict.
----
---
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.
---