[dart][fidl] Support unions with escaped names or members

If a FIDL identifier conflicts with a Dart keyword or other reserved
Dart identifier it will have a $ appended. This is fine until we
generate a string that contains that name - which is interpreted as
string interpolation.

This fixes the case for unions with escaped names and member names.

Change-Id: Iab762c5b0fd4dc2e6b8a06cdcd8da16bec5fc017
Reviewed-on: https://fuchsia-review.googlesource.com/c/topaz/+/443755
Reviewed-by: Benjamin Prosnitz <bprosnitz@google.com>
Reviewed-by: Chase Latta <chaselatta@google.com>
Testability-Review: Benjamin Prosnitz <bprosnitz@google.com>
Commit-Queue: Ian McKellar <ianloic@google.com>
35 files changed
tree: 9e75ce9d14a9b1f05242dc80baedd9545fcf4d41
  1. .cargo/
  2. bin/
  3. bundles/
  4. examples/
  5. lib/
  6. packages/
  7. public/
  8. runtime/
  9. src/
  10. tests/
  11. tools/
  12. .clang-format
  13. .gitignore
  14. AUTHORS
  15. BUILD.gn
  16. CONTRIBUTING.md
  17. LICENSE
  18. OWNERS
  19. PATENTS
  20. README.md
  21. 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/app/spinning_cube: d51f6cdd4
  • 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/examples/ui: 1f4faa076
  • topaz/lib/keyboard: 8f7fb8a
  • 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/user: 62cc03e
  • topaz/lib/setui/settings: 4009b4a
  • topaz/public/lib/schemas: e5810dfa1
  • topaz/public/lib/entity: e5810dfa1
  • topaz/public/lib/component: e5810dfa1
  • topaz/shell/keyboard: 8f7fb8a
  • public/lib/app/dart: 12404bc
  • examples/fidl/echo_client_dart: 12404bc
  • examples/fidl/echo_server_dart: 12404bc
  • examples/fidl/fidl_bindings_performance: 12404bc