[debugger] Add identifiers to symbols.

Adds the ability to get the name of a Symbol object as an Identifier.
This allows the exact DWARF symbol structure to be retrieved.

This is necessary to look up symbol names for declarations which is a
high priority bug affecting the ability to print common types when
testing and debugging.

Not all symbols have Identifier names() as described in
Symbol::GetIdentifier().

Incidentally fixes a bug where typedefs did not have the correct
namespace qualification. The test is updated to reflect this. Other than this
there should be no behavior change.

Change-Id: I50745ea7ecbf4fcf6904f2af4e355b7d597be466
12 files changed
tree: 0e03d0c106b877fcef08c03dc9aec0fdcf5d9735
  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.