[roll] Roll fuchsia [fidl] Add "external_struct_declarations" JSON IR field There is a case where the JSON IR needs to maintain the full definition of a struct imported from another library: when a composed protocol's payload struct needs to be flattened in order to properly generate the method request/response parameters. Previously, such structs were just added into the `struct_declarations` of the importing library, as they guaranteed to be marked `is_request_or_response`, ensuring that such duplicate "structs" were never generated as top-level types in backend output. As we move to allowing use of named payload types in addition to the anonymous ones we allow today, this will no longer fly. Composed methods like `Foo(Bar);` will now use payload structs that may be used as both a payload and as a regular type; if such imported structs were put into the existing "struct_declarations" object, they would end up being generated at least twice, with an extra generation for each library that imports the struct via composition. The solution presented here is to have a new top-level list in the JSON IR, "external_struct_declarations," which is responsible for containing the definitions of all external structs whose full declarations are required. This change will also facilitate a child change that will remove the `maybe_response_success_struct` IR field, as this struct's full definition can now be safely stored in `external_struct_declarations`. Test: fidldev regen all Test: fidldev test all Original-Bug: 88344 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/613334 Original-Revision: 38d398592914872bffc2b7f1e682276d847a0bb1 GitOrigin-RevId: be6497fff579d155202aea5c28c096ba2b484b95 Change-Id: Ic1ed4a6db6be79cf40d9df9fdea641a79f3a4e0e
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.