Mercurial > hg > truffle
changeset 21530:e37d1fe9f332
assert that at most one GraalRuntimeFactory is available
line wrap: on
line diff
--- a/graal/com.oracle.graal.api.runtime/src/com/oracle/graal/api/runtime/Graal.java Sun May 24 11:56:57 2015 +0200 +++ b/graal/com.oracle.graal.api.runtime/src/com/oracle/graal/api/runtime/Graal.java Sun May 24 12:07:04 2015 +0200 @@ -34,8 +34,13 @@ private static final GraalRuntime runtime = initializeRuntime(); private static GraalRuntime initializeRuntime() { + GraalRuntime rt = null; for (GraalRuntimeFactory factory : Services.load(GraalRuntimeFactory.class)) { - return factory.getRuntime(); + assert rt == null : String.format("Multiple %s implementations found: %s, %s", GraalRuntime.class.getName(), rt.getClass().getName(), factory.getRuntime().getClass().getName()); + rt = factory.getRuntime(); + } + if (rt != null) { + return rt; } return new InvalidGraalRuntime(); }