56fd4b562b
- Rewrite `TestModule.publishModificationEventByDirective`: we can get the `KtModule` to publish an event for via the test module. The directive can now be made optional, which is necessary when we want to specify it in potentially multiple modules. - Introduce the `WILDCARD_MODIFICATION_EVENT` directive, which allows specifying THAT some modification event should be raised for a module, but not WHICH one. This allows generating multiple tests which raise different modification events over the same test data. - Add various convenience functions for publishing wildcard modification events. `publishWildcardModificationEventsByDirective` for the test module structure is quite opinionated, but takes a lot of work from test implementations. - Because `ModificationEventDirectives` are part of the analysis test framework, we register them as a general Analysis API test directive. ^KT-56288