[code-reflection] RFR: New example suite for code reflection

Juan Fumero duke at openjdk.org
Fri Aug 8 09:20:41 UTC 2025


New example suite for code reflection. It includes two programs that illustrate different functionality of the code reflection API. 

### How to build?

This module is built using the code-reflection fork of OpenJDK. Then, update the `JAVA_HOME` to point to the code-reflection port, and compile with maven. In detail: 

#### 1. Build Babylon JDK

We need to use the JDK build that enables the code reflection API (Babylon).


git clone https://github.com/openjdk/babylon 
cd babylon
bash configure --with-boot-jdk=${JAVA_HOME}


Then, we use the built JDK as `JAVA_HOME`


export JAVA_HOME=/$HOME/repos/babylon/build/macosx-aarch64-server-release/jdk/
export PATH=$JAVA_HOME/bin:$PATH


#### 2. Build the example suite


mvn clean package


#### 3. Run the examples

##### Run HelloCodeReflection


java --enable-preview -cp target/crsamples-1.0-SNAPSHOT.jar oracle.code.samples.HelloCodeReflection


##### Run MathOptimizer


java --enable-preview -cp target/crsamples-1.0-SNAPSHOT.jar oracle.code.samples.MathOptimizer


More example to appear in this module.

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

Commit messages:
 - minor cleanup
 - Merge branch 'code-reflection' into cr/examples/suite
 - trim spaces
 - [samples] Analysis of parameters simplified
 - Remove scripts for build and run
 - New example suite for code reflection

Changes: https://git.openjdk.org/babylon/pull/513/files
  Webrev: https://webrevs.openjdk.org/?repo=babylon&pr=513&range=00
  Stats: 534 lines in 4 files changed: 534 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/babylon/pull/513.diff
  Fetch: git fetch https://git.openjdk.org/babylon.git pull/513/head:pull/513

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


More information about the babylon-dev mailing list