From a010745843f38ea388e291acdbb4535f5fb4bc0b Mon Sep 17 00:00:00 2001 From: Jason Lu Date: Mon, 24 Mar 2025 23:42:44 +0800 Subject: [PATCH] add demo for class file --- pom.xml | 73 ++++++++++++++++++- src/{ => main/java}/Main.java | 2 + src/{ => main/java}/VarHandlerDemoRunner.java | 2 + src/main/java/jvm/classfile/TestClass.java | 13 ++++ src/main/java/jvm/classfile/TestClassK.kt | 9 +++ 5 files changed, 98 insertions(+), 1 deletion(-) rename src/{ => main/java}/Main.java (84%) rename src/{ => main/java}/VarHandlerDemoRunner.java (98%) create mode 100644 src/main/java/jvm/classfile/TestClass.java create mode 100644 src/main/java/jvm/classfile/TestClassK.kt diff --git a/pom.xml b/pom.xml index 400e49b..ee4a37b 100644 --- a/pom.xml +++ b/pom.xml @@ -11,6 +11,7 @@ 21 21 + 2.1.20 @@ -26,18 +27,88 @@ gson 2.11.0 + + org.jetbrains.kotlin + kotlin-stdlib-jdk8 + ${kotlin.version} + + + org.jetbrains.kotlin + kotlin-test + ${kotlin.version} + test + + + org.jetbrains.kotlin + kotlin-maven-plugin + ${kotlin.version} + + + compile + compile + + compile + + + + src/main/java + target/generated-sources/annotations + src + + + + + test-compile + test-compile + + test-compile + + + + + ${maven.compiler.target} + + org.apache.maven.plugins maven-compiler-plugin 3.8.1 + + + default-compile + none + + + default-testCompile + none + + + compile + compile + + compile + + + + testCompile + test-compile + + testCompile + + + - {maven.compiler.source} + ${maven.compiler.source} {maven.compiler.target} + 21 + + --enable-preview + diff --git a/src/Main.java b/src/main/java/Main.java similarity index 84% rename from src/Main.java rename to src/main/java/Main.java index d5238c9..b7b3de2 100644 --- a/src/Main.java +++ b/src/main/java/Main.java @@ -1,3 +1,5 @@ +package main.java; + public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); diff --git a/src/VarHandlerDemoRunner.java b/src/main/java/VarHandlerDemoRunner.java similarity index 98% rename from src/VarHandlerDemoRunner.java rename to src/main/java/VarHandlerDemoRunner.java index b13ac66..8e30c2d 100644 --- a/src/VarHandlerDemoRunner.java +++ b/src/main/java/VarHandlerDemoRunner.java @@ -1,3 +1,5 @@ +package main.java; + import jvm.VarHandleDemo; import java.lang.invoke.MethodHandles; diff --git a/src/main/java/jvm/classfile/TestClass.java b/src/main/java/jvm/classfile/TestClass.java new file mode 100644 index 0000000..31de396 --- /dev/null +++ b/src/main/java/jvm/classfile/TestClass.java @@ -0,0 +1,13 @@ +package jvm.classfile; + +/** + * Compile for examine class file + */ +public class TestClass { + + private int m; + + public int inc() { + return m+1; + } +} diff --git a/src/main/java/jvm/classfile/TestClassK.kt b/src/main/java/jvm/classfile/TestClassK.kt new file mode 100644 index 0000000..3b18cb6 --- /dev/null +++ b/src/main/java/jvm/classfile/TestClassK.kt @@ -0,0 +1,9 @@ +package jvm.classfile + +class TestClassK { + private var m: Int = 0; + + fun inc() : Int { + return m + 1 + } +} \ No newline at end of file