[code-reflection] RFR: Support storing the code that builds the code model [v18]

Mourad Abbay mabbay at openjdk.org
Wed Mar 19 03:20:58 UTC 2025


On Thu, 13 Mar 2025 14:40:31 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

>> Mourad Abbay has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 20 additional commits since the last revision:
>> 
>>  - Merge branch 'code-reflection' into code-model-storage-option
>>  - Load OpFactory and TypeElementFactory before invocation of opMethod only if the opMethod has there params.
>>  - Fix the remaining compiler tests failures
>>  - Fix some of the test failures (3 remains)
>>  - Fix the remaining test failures of SwitchExpressionTest2
>>  - Fix almost all test failures of SwitchExpressionTest2 (one remaining)
>>  - Pass arrayType instead of eleType in OpBuilder.buildArray
>>  - Ensure that block params are inserted in the correct order
>>  - Add missing imports
>>  - Merge branch 'code-reflection' into code-model-storage-option
>>  - ... and 10 more: https://git.openjdk.org/babylon/compare/91305e8c...966005ce
>
> src/jdk.incubator.code/share/classes/jdk/incubator/code/internal/CodeModelToAST.java line 145:
> 
>> 143:                 if (newOp.resultType() instanceof ArrayType at) {
>> 144:                     var elemType = treeMaker.Ident(typeElementToType(at.componentType()).tsym);
>> 145:                     // @@@ we assume one dimension
> 
> note: `ArrayType` has a `dimensions()` method -- so in principle you could use that and keep fetching dimension operands (and update the type of the array to be built)

I updated the code.

-------------

PR Review Comment: https://git.openjdk.org/babylon/pull/305#discussion_r2002341204


More information about the babylon-dev mailing list