ModuleElement doesn't work with generated provides classes?

Jonathan Gibbons jonathan.gibbons at oracle.com
Mon Aug 28 15:29:21 UTC 2023


The following error message seems relevant:

|/M:/Dev/module-directive-bug/blackbox-test-module/src/main/java/module-info.java:[6,41] 
the service implementation does not have a default constructor: 
io.avaje.modules.example.GeneratedProvider|

-- Jon


On 8/26/23 1:04 PM, Josiah Noel wrote:
> As requested, I have created a simple example to replicate this issue. 
> SentryMan/module-directive-bug: showcase annotation processing bug 
> (github.com) 
> <https://github.com/SentryMan/module-directive-bug/tree/master>
>
> On Fri, Aug 25, 2023 at 9:00 PM Josiah Noel <josiahnoel at gmail.com> wrote:
>
>     Say I got this module
>
>     ```
>
>     modulenima.example {
>
>     requiresio.avaje.http.client;
>
>     requiresio.avaje.http.api;
>
>     providesio.avaje.http.client.HttpClient.GeneratedComponentwith
>
>     com.jojo.helidon.api.client.httpclient.GeneratedHttpComponent;
>
>     }
>
>     ```
>     and I generate
>     com.jojo.helidon.api.client.httpclient.GeneratedHttpComponent in
>     the last round of processing. When I get the module element during
>     normal processing and so much as call
>     `ModuleElement#getDirectives` and do nothing else, the processor
>     will correctly generate, but compilation will still fail.(if I
>     take out the module-info from the project it works though) I'm
>     pretty sure it might have to do with the fact that
>     GeneratedHttpComponent is created in the last round. Even so, not
>     sure why it fails the compilation.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/compiler-dev/attachments/20230828/d5428d97/attachment.htm>


More information about the compiler-dev mailing list