| commit | 01e5b3e4f02d0d562603c8a9d7e41b4e86e3bb23 | [log] [tgz] |
|---|---|---|
| author | Mitchell Kember <mkember@fuchsia.infra.roller.google.com> | Tue Apr 23 22:00:13 2024 +0000 |
| committer | Copybara-Service <copybara-worker@google.com> | Tue Apr 23 15:01:47 2024 -0700 |
| tree | 1d5e549c7431d6c76c46a088004e8da0ff5e1191 | |
| parent | 125260fbc26f2a717cd29669a00b5a0451a39799 [diff] |
[roll] Roll fuchsia [fidlc] Add ReplacementStep
This moves @available removed/replaced validation from AvailabilityStep
into its own step, ReplacementStep. The order of steps is now:
Consume -> Availability -> Resolve -> Compile -> Replacement -> ...
This is needed for two upcoming changes to removed/replaced validation:
* https://fxbug.dev/330775608: Consider all protocol methods, not just
the non-composed methods.
* https://fxbug.dev/335716034: Check that replacements have the same
ordinal, not just the same name.
I will fix those in follow-ups since they require changing attributes in
some SDK libraries at the same time.
This also makes it an error to replace a member at the same version that
its enclosing declaration is removed/replaced. Before, this caused an
error later in compilation. Now the error is more consistent with other
validation as can be seen in the versioning_inheritance_tests.cc change.
Test: fx test fidlc-test
Original-Bug: 42085274, 330775608, 335716034
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1024054
Original-Revision: 9f2a45626f604469b5d50cc0f0e8c662a02ddc83
GitOrigin-RevId: 4d586ec99358f26c96dea22c143ff23040d35bca
Change-Id: Ib1941d3b2976d8e2d571109221cff86b554af094
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.