The package internal.plugins.asm contains an API to offer an Asm view on modules. This API has been put in place prior to expose a module level in the public plugin API.
A lot of logic present in this API is related to offering a module view on the flat resources so it contains duplicated logic now in the public API.
This API can be greatly simplified by the usage of the Pool.Module. It could even be removed. The impact of a removal would be at 2 levels:
1) Unit tests to remove.
2) The Optimization bundled plugin and API. This plugin would have to be refactored to use the public plugin API instead of the internal ASM support.
I would vote for removing it and update the Optimization plugin.
A lot of logic present in this API is related to offering a module view on the flat resources so it contains duplicated logic now in the public API.
This API can be greatly simplified by the usage of the Pool.Module. It could even be removed. The impact of a removal would be at 2 levels:
1) Unit tests to remove.
2) The Optimization bundled plugin and API. This plugin would have to be refactored to use the public plugin API instead of the internal ASM support.
I would vote for removing it and update the Optimization plugin.