[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