[fidlcat] Two steps decoding for types

- first step: lazy decoding of the libaries. Only the names of
  types are decoded (structs, enums,  unions, ...).

- then, if a type is used, all the information is decoded for this
  type and its dependencies (eager decoding of used types).

There is no new test because this cl doesn't add any
functionality.

fx run-test fidlcat_tests
[==========] 58 tests from 2 test suites ran. (74 ms total)
[  PASSED  ] 58 tests.

The tests are now 34% faster (113 ms to 74 ms)

Change-Id: I0815f5ef8c33ae73e9a1c57d93d40971c6a43016
8 files changed
tree: 7bc666c2bf30b471ee215161a6779c7e7c290cea
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. infra/
  9. peridot/
  10. products/
  11. scripts/
  12. sdk/
  13. src/
  14. third_party/
  15. tools/
  16. zircon/
  17. .clang-format
  18. .clang-tidy
  19. .dir-locals.el
  20. .gitattributes
  21. .gitignore
  22. .gn
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. LICENSE
  28. OWNERS
  29. PATENTS
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.