Split `Importer` into individual classes for each decl type.

This is one step towards a more query-based importer architecture, by
encapsulating the individual import methods and extracting an interface for
their interaction with the importer.

The extracted interfaces of the `DeclImporter` and `ImportContext` are not meant
to be permanent. They merely extract the status quo and provide a basis for
future improvements.

I also plan on moving individual `DeclImporter`s into their own files. Maybe
also the `Invocation` and the `ImportContext`. I haven't done that in this CL to
make review easier.

PiperOrigin-RevId: 443642590
5 files changed
tree: 8e3cd7896245d2a4bba85197a994f93ccab30f00
  1. cc_template/
  2. common/
  3. lifetime_annotations/
  4. rs_bindings_from_cc/
  5. BUILD
  6. CODE_OF_CONDUCT
  7. CONTRIBUTING
  8. LICENSE
  9. README.md
README.md

Crubit: C++/Rust Bidirectional Interop Tool

Extremely experimental interop tooling for C++ and Rust.

Please don‘t use, this is an experiment and we don’t yet know where will it take us. There will be breaking changes without warning. Unfortunately, we can't take contributions at this point.