Skip to content

Align sharding more like Dagger #1478

@ZacSweers

Description

@ZacSweers

After looking more at how Dagger does sharding, Metro's have a somewhat custom implementation that's less beneficial. We should make metro's

  • be static sibling classes instead of inner
  • keep an instance in the parent graph
  • make the shard hold provider fields directly, rather than initializing them in parent graphs. Eliminates the need for the reverse irSetField call
  • can hold multibinding accessor properties

Would want to add a receiver to CollectedProperty to support this indirection so later graph expression generation can call it on the right property (either a provider property or shard's property)

Metadata

Metadata

Assignees

No one assigned

    Labels

    IRcompilerAnything specific to the metro compiler itself

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions