chore:优化 Native Image 相关代码

- 移除 module-info.java 中对 org.graalvm.nativeimage 的直接引用
- 修改 VMUtils 中的 isNativeImage 方法,使用反射调用 ImageInfo
This commit is contained in:
Luke 2025-07-24 11:23:55 +08:00
parent f777841937
commit b826fc43aa
2 changed files with 3 additions and 3 deletions

View File

@ -4,7 +4,6 @@ module org.jcnc.snow.compiler {
uses CLICommand;
requires java.desktop;
requires java.logging;
requires org.graalvm.nativeimage;
exports org.jcnc.snow.compiler.ir.core;
exports org.jcnc.snow.compiler.ir.instruction;
}

View File

@ -1,6 +1,5 @@
package org.jcnc.snow.vm.utils;
import org.graalvm.nativeimage.ImageInfo;
import org.jcnc.snow.vm.engine.VirtualMachineEngine;
/**
@ -52,9 +51,11 @@ public class VMUtils {
*/
public static boolean isNativeImage() {
try {
return ImageInfo.inImageCode();
Class<?> imageInfo = Class.forName("org.graalvm.nativeimage.ImageInfo");
return (Boolean) imageInfo.getMethod("inImageCode").invoke(null);
} catch (Throwable t) {
return false;
}
}
}