Skip to content
This repository was archived by the owner on Feb 4, 2025. It is now read-only.

Prototype for Macro Metadata Introspection #93

Closed
davidmorgan opened this issue Oct 10, 2024 · 0 comments
Closed

Prototype for Macro Metadata Introspection #93

davidmorgan opened this issue Oct 10, 2024 · 0 comments

Comments

@davidmorgan
Copy link
Contributor

Re: dart-lang/language#3847 and @jakemac53 @munificent @scheglov @johnniwinther

We are at a point in the macros repo where we can start prototyping, yay!

In particular, we have:

  • Serializable data types generated from a definition, so we can quickly get up and running with any idea for a model, or multiple models in parallel, or ... note that these are extension types, so we are not using class hierarchies, instead we have "union types".
  • An analyzer-backed query runner and a CFE-backed query runner, at least one of which is needed to do something fun with the model, and in the end both to validate that it really works ;)
  • A way to write macros that makes these queries
  • A way to run those macros backed by the analyzer or the CFE
  • e2e testing capabilities: golden files on query results, golden files on augmentations output, tests with macros applied

And all of this is fully outside the SDK so we can move fast and break things without breaking anything :)

Johnni, I think you're probably best placed to have ideas about what we should try next/first; I'll be more than happy to help, however I'll be on vacation next week, perhaps we can chat briefly before then? Otherwise looking forward to pushing on this when back :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

1 participant