diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/option/OptionOrigin.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/option/OptionOrigin.java index 9dcb2627f8ff..a82237bed85d 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/option/OptionOrigin.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/option/OptionOrigin.java @@ -78,6 +78,10 @@ public static OptionOrigin from(String origin) { } throw VMError.shouldNotReachHere("Unsupported OptionOrigin: " + origin); } + if (originURI.getScheme() == null) { + /* @argument files use path as origin */ + return commandLineOptionOriginSingleton; + } switch (originURI.getScheme()) { case "jar": return new JarOptionOrigin(originURI); diff --git a/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/APIOptionHandler.java b/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/APIOptionHandler.java index 3f00c9b515a3..ab8ec348dd9b 100644 --- a/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/APIOptionHandler.java +++ b/substratevm/src/com.oracle.svm.driver/src/com/oracle/svm/driver/APIOptionHandler.java @@ -52,6 +52,7 @@ import com.oracle.svm.core.option.APIOption.APIOptionKind; import com.oracle.svm.core.option.APIOptionGroup; import com.oracle.svm.core.option.HostedOptionKey; +import com.oracle.svm.core.option.OptionOrigin; import com.oracle.svm.core.option.SubstrateOptionsParser; import com.oracle.svm.core.util.VMError; import com.oracle.svm.driver.NativeImage.ArgumentQueue; @@ -295,7 +296,7 @@ boolean consume(ArgumentQueue args) { String translateOption(ArgumentQueue argQueue) { OptionInfo option = null; String[] optionNameAndOptionValue = null; - String argumentOrigin = argQueue.argumentOrigin; + OptionOrigin argumentOrigin = OptionOrigin.from(argQueue.argumentOrigin); found: for (OptionInfo optionInfo : apiOptions.values()) { for (String variant : optionInfo.variants) { String optionName;