[fidl][dart] Test FIDL dangerous identifiers

This implements the FIDL dangerous identifiers test for Dart and fixes
some problems that the test found:
 - List, Map, override and toString should be escaped
 - callback names should use the transformed name
 - fields and methods on Enum types are prefixed with $ so as to not
   conflict with enum member names.

The reserved words list is now contextual so that a word that is
reserved as a global declaration (eg: List) would be allowed as a
protocol method name.

This test has allowed us to see that many identifiers that were formerly
mangled (eg: external) don't need to be mangled any more.

There's downstream code that uses EnumType.values and UnionType.tag so
to allow a soft transition EnumType.values is a synonym for
EnumType.$values, UnionType.tag is a synonym for UnionType.$tag, for
now. See FIDL-587.

FIDL-259
FIDL-107 #done

Change-Id: I316a433081b75ae04d6dd4dbcef94b07f4a5b137
48 files changed
tree: 3fa08e78279a64d558bbef9c9f3de5e12f8ebd64
  1. .cargo/
  2. app/
  3. auth_providers/
  4. bin/
  5. boards/
  6. bundles/
  7. docs/
  8. examples/
  9. lib/
  10. manifest/
  11. packages/
  12. public/
  13. runtime/
  14. shell/
  15. tests/
  16. tools/
  17. .clang-format
  18. .gitignore
  19. AUTHORS
  20. BUILD.gn
  21. CONTRIBUTING.md
  22. LICENSE
  23. OWNERS
  24. PATENTS
  25. README.md
  26. rustfmt.toml
README.md

Topaz

Topaz augments system functionality by implementing interfaces defined by underlying layers. Topaz contains four major categories of software: modules, agents, shells, and runners.

For example, modules include the dashboard, and runners include the Web, Dart, and Flutter runners.

Removed Components

Looking for something that used to be in this repository? The list below provides a code location and sha that can be used to checkout dead code that has been removed. Please note, it is unlikely the code will build or work correctly shas are provided for reference only. Code can be checked out with:

    git checkout <sha> -- $FUCHSIA_DIR/<location>
  • topaz/app/chat: 9f6c31d2ceb8353f229a9ef6b53ba2386ff31867
  • topaz/app/color: 5a023ccb054104846e3e913951bcc7dc277d2274
  • topaz/app/contacts: 80378fe470817750188707de29237282892a3142
  • topaz/app/dashboard: 982984856fec7e45d295a6ca34bdd819b6760b72
  • topaz/app/documents: b5a3ee29b15414f232865128195d14bd8811ab02
  • topaz/app/image: 5e731a943a907cf960ecfbda1c391958f9093afa
  • topaz/app/link_viewer: 00fe1236c6851da5d54c625a8293561bb617804c
  • topaz/app/video: fc03877f787fc119140b900d476c4563bd04a529
  • topaz/bin/repl: fc25fb9b825f4100b316c4d5135156ef05e0dc4b
  • topaz/examples/bluetooth: f4287c5ae0e9b099983121b41be66e1994b83a02
  • topaz/examples/tictactoe: 07fd955f4
  • topaz/tools/dartfmt_extras: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/tools/mod: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/tools/widget_explorer: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/examples/bluetooth: f4287c5ae0e9b099983121b41be66e1994b83a02
  • topaz/bin/repl: fc25fb9b825f4100b316c4d5135156ef05e0dc4b
  • topaz/examples/tictactoe: 07fd955f4
  • topaz/examples/ui/hello_mod: 07fd955f4
  • topaz/examples/ui/sketchy_flutter: 07fd955f4
  • topaz/examples/ui/text_flutter: 07fd955f4
  • topaz/public/lib/agent: 79a60c5d377ed3a55a87d999292036243ff21446
  • topaz/public/lib/config: f489f45e6883df6e3be578342b4e739928adcf77
  • topaz/public/lib/context: f489f45e6883df6e3be578342b4e739928adcf77
  • topaz/public/lib/mod: 75067a620790d76515c3824321eca335a6aa6bab
  • topaz/public/lib/app_driver: 0196bf704f
  • topaz/public/lib/fuchsia_driver: b34f97387
  • topaz/public/lib/decomposition: b34f97387
  • topaz/public/lib/module_resolver: 2e13a4929
  • topaz/public/lib/proposal: d32421a9d