diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalCode.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalCode.java index c24bbb279baa2771219151833783a6ca05bb8a81..6c37aa8fc0438910b700a425e486c660de50f7cd 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalCode.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RInternalCode.java @@ -23,8 +23,6 @@ package com.oracle.truffle.r.runtime; -import java.io.IOException; -import java.net.URL; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -54,14 +52,8 @@ public final class RInternalCode { this.basePackage = basePackage; } - @SuppressWarnings("deprecation") public static Source loadSourceRelativeTo(Class<?> clazz, String fileName) { - URL url = clazz.getResource("/" + clazz.getPackage().getName().replaceAll("\\.", "//") + "/" + fileName); - try { - return Source.newBuilder(url).name(fileName).internal().build(); - } catch (IOException e) { - throw RInternalError.shouldNotReachHere(e, "Internal R script failed to load."); - } + return Utils.getResourceAsSource(clazz, fileName); } private REnvironment evaluate() { diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java index 86df46535255786ea2e93d801da3e37e174755ca..941491c4353a56463b7d1c50ddd7f0082f7493ba 100644 --- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java +++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/Utils.java @@ -93,8 +93,11 @@ public final class Utils { @SuppressWarnings("deprecation") public static Source getResourceAsSource(Class<?> clazz, String resourceName) { - URL url = ResourceHandlerFactory.getHandler().getResource(clazz, resourceName); try { + URL url = ResourceHandlerFactory.getHandler().getResource(clazz, resourceName); + if (url == null) { + throw new IOException(); + } return Source.fromFileName(url.getPath()); } catch (IOException ex) { throw Utils.fail("resource " + resourceName + " not found");