sdk
sdk copied to clipboard
Check for macro executor changes in the incremental build
Filed for TODO in https://dart-review.googlesource.com/c/sdk/+/338440 modular_incremental_compilation.dart
Today I believe it is the case that we can compile different dart_library targets and re-use the old state, but these arguments are going to be different for most all dart libraries because they will have different macro deps.
Maybe we should instead individually be invalidating these based on their input hashes?
Additionally, I think we have an invalidation issue right now where if the same macros were passed but it had actually changed, we wouldn't restart the macro and the old version would run. So in the other path, we need to check the hashes and shut down macros that are already running even if their path is identical?
This likely means keeping a map of the tokens to their hashes on the side, and doing some more fine grained invalidation based on that below, instead of just checking these arguments are identical.