[code-reflection] Integrated: Code reflection synthetic class generation moved to JavaCompiler::genCode

Adam Sotona asotona at openjdk.org
Fri Nov 21 16:39:57 UTC 2025


On Thu, 20 Nov 2025 20:23:50 GMT, Adam Sotona <asotona at openjdk.org> wrote:

> Prototype of code reflection synthetic class generation move to `JavaCompiler::genCode`.
> 
> - collected ops are attached to the `ReflectMethods.JCReflectMethodsClassDecl`, an internal extension of `JCTree.JCClassDecl`
> - new `genCode` method is added to `CodeReflectionTransformer` interface
> - `JavaCompiler` calls `CodeReflectionTransformer::genCode` inside its `genCode` method 
> - implementation in `ReflectMethods.Provider` calls `OpBuilder` and `BytecodeGenerator` and generates the synthetic inner class

This pull request has now been integrated.

Changeset: 03cd0a18
Author:    Adam Sotona <asotona at openjdk.org>
URL:       https://git.openjdk.org/babylon/commit/03cd0a18a0dec6cca7cfe88bed95e4ac990ab9de
Stats:     134 lines in 5 files changed: 91 ins; 39 del; 4 mod

Code reflection synthetic class generation moved to JavaCompiler::genCode

Reviewed-by: mcimadamore

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

PR: https://git.openjdk.org/babylon/pull/689


More information about the babylon-dev mailing list