[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
1 file changed
tree: 1d5e549c7431d6c76c46a088004e8da0ff5e1191
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

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.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.