Mercurial > hg > truffle
changeset 22276:6af6ca6c848e
Always use at least SystemClassLoader to load custom message classes
author | Jaroslav Tulach <jaroslav.tulach@oracle.com> |
---|---|
date | Tue, 06 Oct 2015 11:10:02 +0200 |
parents | 141fe31da7a2 |
children | 412991d0359c |
files | truffle/com.oracle.truffle.api.interop/src/com/oracle/truffle/api/interop/Message.java truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/interop/MessageStringTest.java |
diffstat | 2 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.api.interop/src/com/oracle/truffle/api/interop/Message.java Tue Oct 06 10:25:22 2015 +0200 +++ b/truffle/com.oracle.truffle.api.interop/src/com/oracle/truffle/api/interop/Message.java Tue Oct 06 11:10:02 2015 +0200 @@ -413,7 +413,11 @@ return (Message) Message.class.getMethod(factory, int.class).invoke(null, 0); } catch (Exception ex2) { try { - return (Message) Class.forName(message).newInstance(); + ClassLoader l = Message.class.getClassLoader(); + if (l == null) { + l = ClassLoader.getSystemClassLoader(); + } + return (Message) Class.forName(message, false, l).newInstance(); } catch (Exception ex1) { throw new IllegalArgumentException("Cannot find message for " + message, ex); }
--- a/truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/interop/MessageStringTest.java Tue Oct 06 10:25:22 2015 +0200 +++ b/truffle/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/interop/MessageStringTest.java Tue Oct 06 11:10:02 2015 +0200 @@ -31,7 +31,6 @@ import java.lang.reflect.Modifier; import java.util.Locale; -import org.junit.Ignore; import org.junit.Test; import com.oracle.truffle.api.interop.Message; @@ -88,7 +87,6 @@ } } - @Ignore @Test public void specialMessagePersitance() { SpecialMsg msg = new SpecialMsg();