[code-reflection] Withdrawn: Further cleanup of `CodeModelToAST` and regularize support for varargs instance creation expressions
Maurizio Cimadamore
mcimadamore at openjdk.org
Thu May 1 08:47:10 UTC 2025
On Fri, 11 Apr 2025 12:03:04 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
> This PR makes the code in `CodeModelToAST` that deal with instance creation expression (`NewOp`) a bit closer to the code that deals with method calls (`InvokeOp`). I've added a method, called `constructorTypeToSymbol` which takes the constructor type of a `NewOp` and looks up the constructor symbol with that type.
>
> Then I moved the logic that sets `varargElements` on the created `JCMethodInvocation` nodes into a separate, reusable routine. This is now called also for varargs instance creation expression.
>
> Of course, to do that I had to add support for a new varargs attribute in the `NewOp` class -- which closely follows the one used by `InvokeOp`. This means that in `ReflectMethod` we can now reify in the model as to whether a constructor call was varargs or not.
>
> I've also added some arg count validation in `NewOp`, very similar to the one that appears in `InvokeOp`.
This pull request has been closed without being integrated.
-------------
PR: https://git.openjdk.org/babylon/pull/393
More information about the babylon-dev
mailing list