[debugger] Separate out identifier base class.

This is the first step in splitting out a full parsed C++ identifier
with template parameters from the general identifier code in the symbols
directory. This will allow us to make identifiers from DWARF symbols
without doing any transformations, while parsing C++ templates in the
few places they're needed. That capability is in turn required to look
up the definitions of types whose variables are defined in DWARF only as
definitions, which is a high priority usability bug.

The identifier is now a templatized base class on a component type.
Currently this uses the same definition as the previous version of a
component. In the future pass the IdentifierComponent will be just a
string and there will be a C++ one with template stuff in it in the
expr/ directory.

The main change is that Identifier::Component -> IdentifierComponent and
some calls were updated to keep them more generic.

There should be no behavior change.

Change-Id: I501bc98237ae47bc72312ea4f9fb8e48fdef07db
25 files changed
tree: 47fc492370ebb8389c68e854acb4727c0f0db722
  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.