-
-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
Fixes #490 by only generating one `RegisterSchema()` function per `$Go.package()`. For example, the unit tests persistent-simple.capnp and persistent-samepkg.capnp now both have the annotation: `$Go.package("persistent_simple");` Their generated go code thus starts with: `package persistent_simple` but only one of them will include a `RegisterSchema()`. Note: if `capnp` is invoked with only one .capnp file at a time on its command line, `capnpc-go` will not detect any *other* .capnp files that might have the same $Go.package. For that use case, the user might be able to cope by running `capnpc -o - persistent-simple.capnp | capnpc-go --forceschemasalways` and editing the generated code to rename all but one `RegisterSchema()` and add calls to the renamed code inside the one remainig `RegisterSchema()`... though that is not a supported solution. e.g. Use this: `capnpc -o go persistent-simple.capnp persistent-samepkg.capnp` Because the following will fail to compile due to duplicate `RegisterSchema()` definitions: ``` capnpc -o go persistent-simple.capnp capnpc -o go persistent-samepkg.capnp ```
- Loading branch information
1 parent
01cac8d
commit 2a85fea
Showing
7 changed files
with
186 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.